离线内网部署nginx核心是提前将gcc、pcre-devel、openssl-devel等全部依赖与nginx源码从跳板机打包带入,再在目标机依次安装rpm依赖、编译安装、验证启动及配置systemd服务。

离线内网装 Nginx,核心不是“能不能编译”,而是“能不能把所有依赖提前带进去”。没有外网,系统不会自动帮你拉 gcc、pcre-devel、openssl-devel 这些关键包——它们必须和 Nginx 源码一起,从一台能联网的“跳板机”上完整打包带进来。
准备阶段:在跳板机上收齐全部资源
选一台和目标服务器**完全一致**的操作系统(比如都是 CentOS 7.9 x86_64 或 麒麟 V10 SP3 aarch64),然后执行:
- 下载 Nginx 源码包(如 nginx-1.30.2.tar.gz),并用
sha256sum校验完整性 - 安装
yum-utils,用yumdownloader --resolve下载所有编译依赖:gcc make pcre-devel openssl-devel zlib-devel perl gcc-c++ - 把所有 RPM 包放进一个文件夹(如
/opt/offline/rpms/),再检查架构是否匹配:file *.rpm | grep -v x86_64(x86_64 系统) - 把源码包和 RPM 包一起打包:
tar -czf nginx-offline-pkg.tar.gz rpms/ nginx-1.30.2.tar.gz
内网服务器:先装依赖,再编译 Nginx
上传 nginx-offline-pkg.tar.gz 到内网机,解压后按顺序操作:
- 进入 RPM 目录,批量安装依赖:
rpm -Uvh --force --nodeps *.rpm(--nodeps 是离线必需项,避免因依赖未就绪中断) - 验证基础工具就位:
gcc -v、make -v、pkg-config --modversion openssl - 解压 Nginx 源码:
tar -zxf nginx-1.30.2.tar.gz && cd nginx-1.30.2 - 运行 configure,指定常用模块和安装路径:
./configure \<br> --prefix=/usr/local/nginx \<br> --with-http_ssl_module \<br> --with-http_v2_module \<br> --with-http_stub_status_module \<br> --with-stream
编译安装与基础可用性验证
确认 configure 成功(末尾出现 configuration is complete)后再执行:
-
make -j$(nproc)(利用全部 CPU 核心加速) make install- 创建运行用户(可选但推荐):
useradd -r -s /sbin/nologin nginx - 修改安装目录权限:
chown -R nginx:nginx /usr/local/nginx - 启动并验证:
/usr/local/nginx/sbin/nginx && ps aux | grep nginx - 检查默认页是否响应:
curl -I http://127.0.0.1应返回200 OK
补充建议:让服务更可控
纯手动启停不便于管理,建议加个 systemd 服务:
- 新建
/etc/systemd/system/nginx.service,填入标准 fork 类型配置(ExecStart 指向/usr/local/nginx/sbin/nginx) - 执行
systemctl daemon-reload && systemctl enable --now nginx - 后续可用
systemctl status nginx查状态,systemctl reload nginx重载配置











