源码编译安装Nginx需三步:下载指定版本源码包(如1.28.1),装齐依赖(如gcc、pcre2-devel、openssl-devel),再用./configure指定路径与模块(如--prefix、--with-http_ssl_module),最后make && make install验证版本与模块。

直接下载对应版本的源码包,再用 ./configure 指定安装路径和模块,最后 make && make install 即可。关键在选对版本号、装齐依赖、参数写准确。
下载指定版本的源码包
去 nginx 官网下载页 找你需要的版本,比如稳定版 1.28.1 或主线版 1.29.0。不要用系统包管理器默认的旧版本。
- 用
wget下载(示例):wget https://nginx.org/download/nginx-1.28.1.tar.gz - 解压并进入目录:
tar zxvf nginx-1.28.1.tar.gz && cd nginx-1.28.1 - 确认版本号是否匹配:运行
cat src/core/nginx.h | grep NGINX_VERSION可查看源码内嵌版本
装好编译依赖(按系统区分)
没装对依赖,./configure 会报错或缺失关键功能(比如 HTTPS、rewrite 不可用)。
-
CentOS/RHEL 8+(dnf):
dnf groupinstall -y "Development Tools"<br>dnf install -y gcc pcre2-devel openssl-devel zlib-devel
-
Ubuntu/Debian:
apt update && apt install -y build-essential libpcre3-dev libssl-dev zlib1g-dev - 注意:
pcre2-devel(RHEL8+)比老版pcre-devel更推荐;若用旧系统(如 CentOS 7),仍用pcre-devel
配置(configure)时明确指定版本意图
configure 脚本不记录“版本”,但它决定最终二进制的能力。你通过参数控制模块启用,等同于定制该版本的行为。
- 基础命令(含常用生产模块):
./configure --prefix=/usr/local/nginx \<br> --user=nginx --group=nginx \<br> --with-http_ssl_module \<br> --with-http_v2_module \<br> --with-http_stub_status_module \<br> --with-http_gzip_static_module \<br> --with-pcre --with-zlib --with-stream
- 想用特定 OpenSSL 或 PCRE 版本?加路径:
--with-openssl=/path/to/openssl-src --with-pcre=/path/to/pcre-src - 验证配置是否成功:
运行后无报错、生成了Makefile,且终端末尾显示Configuration summary即可
编译安装与验证版本
这一步产出真正可用的 nginx 二进制,并确保它反映你选择的版本和模块组合。
- 执行编译与安装:
make -j$(nproc) && make install
(-j加速,避免卡死在单核) - 检查安装结果:
/usr/local/nginx/sbin/nginx -v→ 显示nginx version: nginx/1.28.1/usr/local/nginx/sbin/nginx -V→ 显示完整 configure 参数,确认模块已启用 - 首次运行前创建用户:
useradd -r -s /sbin/nologin nginx


















