离线编译安装nginx核心是提前准备gcc、pcre、zlib、openssl四类依赖并顺序编译,普通用户通过--prefix指定家目录、--with-openssl等参数指向本地源码,执行make && make install后验证版本、配置及启动。

在无网环境中离线编译安装 Nginx,核心是“提前带齐依赖 + 源码顺序编译”,全程不依赖网络、不依赖 root 权限,普通用户即可完成。
准备好四类必需组件
不能只下 nginx 包——它运行依赖底层库,缺一不可:
-
GCC 工具链:必须有
gcc和g++。若系统没装,需提前下载对应发行版的 rpm 包(如 CentOS 7 的gcc-4.8.5、glibc-devel等),上传后执行:rpm -Uvh *.rpm --nodeps --force -
PCRE 库:处理正则规则(
location、rewrite)。推荐pcre-8.45(注意:pcre2 不兼容 Nginx 默认配置);解压后进入目录:./configure && make && make install -
Zlib 库:支持 gzip 压缩。用
zlib-1.3.1;同样解压后:./configure && make && make install -
OpenSSL 库:启用 HTTPS/HTTP/2。建议
openssl-3.0.20;进入源码目录:./config && make && make install(默认装到/usr/local/ssl)
非 root 用户友好编译 Nginx
解压 nginx-1.26.3.tar.gz 后进入目录,用 ./configure 显式指向本地依赖路径:
-
--prefix=/home/yourname/nginx:装到自己家目录,无需 sudo -
--with-openssl=../openssl-3.0.20、--with-pcre=../pcre-8.45、--with-zlib=../zlib-1.3.1:确保链接你本地编译的版本 - 启用关键模块:
--with-http_ssl_module(HTTPS)、--with-http_v2_module(HTTP/2)、--with-http_stub_status_module(状态页)、--with-stream(TCP/UDP 四层代理,若用stream{}配置必须加)
编译安装与快速验证
执行三步命令即可完成:
-
make:自动链接你指定的 OpenSSL、PCRE、zlib 源码,生成二进制 -
make install:复制文件到--prefix路径(如/home/yourname/nginx) - 验证:
/home/yourname/nginx/sbin/nginx -v查版本/home/yourname/nginx/sbin/nginx -t检查配置语法/home/yourname/nginx/sbin/nginx启动服务(默认监听 80 端口)
常见问题提醒
几个容易卡住的点:
- 如果跳过 PCRE 或 Zlib 编译,系统已自带,可省略
--with-pcre等参数,但务必先运行pcre-config --version和检查pkg-config --modversion zlib是否可用 - OpenSSL 版本不匹配会报类似
undefined reference to 'ERR_peek_error_data'的链接错误——务必按 Nginx 官方推荐版本搭配(如 nginx-1.26.x 推荐 openssl-3.0.20) - 编译失败时,优先看
objs/autoconf.err和config.log,多数是路径写错或依赖未正确安装











