离线编译安装Nginx需提前下载并校验Nginx 1.26.3、OpenSSL 3.0.20、PCRE 8.45、Zlib 1.3.1源码包,按OpenSSL→zlib→PCRE顺序编译安装至/app/deps/,再以源码路径配置Nginx并指定模块,最终普通用户可启动验证。
在离线无外网环境中编译安装 Nginx,核心是提前准备所有依赖和源码、按正确顺序编译、并确保非 root 用户也能完成部署。整个过程不依赖网络,但对路径规划、依赖版本兼容性和编译顺序要求严格。
必须在有网络的机器上一次性下载以下组件,并校验 SHA256 值(防止传输损坏):
所有 tar.gz 包统一传到目标机同一目录(如 /app/src),再解压:
tar -xzf nginx-1.26.3.tar.gz
tar -xzf openssl-3.0.20.tar.gz
tar -xzf pcre-8.45.tar.gz
tar -xzf zlib-1.3.1.tar.gz
依赖不能跳过或颠倒顺序,否则 Nginx configure 会找不到头文件或链接失败:
cd openssl-3.0.20 && ./config --prefix=/app/deps/openssl --openssldir=/app/deps/openssl && make && make install
cd ../zlib-1.3.1 && ./configure --prefix=/app/deps/zlib && make && make install
cd ../pcre-8.45 && ./configure --prefix=/app/deps/pcre && make && make install
每个库安装后,确认对应 include/ 和 lib/ 目录存在,例如 /app/deps/openssl/include/openssl/ssl.h。
进入 Nginx 源码目录,用绝对路径指向已编译的依赖:
cd nginx-1.26.3
./configure
--prefix=/app/user/nginx
--with-openssl=/app/src/openssl-3.0.20
--with-pcre=/app/src/pcre-8.45
--with-zlib=/app/src/zlib-1.3.1
--with-http_ssl_module
--with-http_v2_module
--with-http_stub_status_module
--with-stream
注意:
– 不要用 --with-openssl=/app/deps/openssl(那是安装路径,configure 需要源码路径来读头文件)
– 若跳过 PCRE 或 zlib 编译,且系统无 pcre.h 或 zlib.h,configure 会直接失败
– 执行 make -j$(nproc) 加速编译,再 make install
安装完成后,普通用户即可运行:
/app/user/nginx/sbin/nginx -v
/app/user/nginx/sbin/nginx -V(确认 ssl、stream 等模块已启用)/app/user/nginx/sbin/nginx
/app/user/nginx/sbin/nginx -t
http://localhost:80(确保防火墙放行或本地 curl 测试)如提示 “bind() to 0.0.0.0:80 failed”,说明端口被占用或需用 root 启动——此时可改用非特权端口(如 8080),在 /app/user/nginx/conf/nginx.conf 中修改 listen 8080; 即可。
Tplink企业版路由器WiFi名称的默认设置介绍(Tplink企业版路由器WiFi名称的默认设置是什么)
Tplink路由器灯常亮无法上网的原因分析(如何解决Tplink路由器灯常亮无法上网的问题)
Tplink千兆企业级路由器自动重启的作用和优势介绍(如何设置Tplink千兆企业级路由器自动重启功能)
一根天线的tplink路由器有哪些(一根天线的Tplink路由器的特点和优势介绍)
tplink路由器外网访问不了nas(Tplink路由器外网访问NAS的原因分析)
Tplink无法搜到路由器的原因分析(如何解决Tplink无法搜到路由器的问题)