nginx源码编译需三步:先运行./configure检测依赖并生成makefile;再执行make调用gcc编译生成objs/nginx;最后make install将文件复制到--prefix指定路径。

在 Nginx 中,make 本身不是 Nginx 的内置命令,而是 GNU 构建工具链中的通用编译命令。要使用 make 编译 Nginx 源码包,必须先完成配置(./configure),生成 Makefile 后,再执行 make 进行编译。
确认已安装编译依赖
Nginx 源码编译需要基础开发工具和库支持:
- gcc、g++(C/C++ 编译器)
- make(构建工具)
- pcre-devel(支持正则,用于 location、rewrite 等)
- zlib-devel(支持 gzip 压缩)
- openssl-devel(支持 HTTPS)
例如在 CentOS/RHEL 上运行:
yum groupinstall "Development Tools"
yum install pcre-devel zlib-devel openssl-devel
解压并进入源码目录
下载官方源码包(如 nginx-1.24.0.tar.gz)后解压:
tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0
运行 configure 生成 Makefile
这是关键前置步骤:make 能否成功,取决于 ./configure 是否顺利执行并输出 Makefile:
./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_gzip_static_module
常见可选参数说明:
-
--prefix:指定安装路径(默认/usr/local/nginx) -
--with-http_ssl_module:启用 HTTPS 支持(必须有 openssl-devel) -
--with-http_gzip_static_module:支持预压缩的 .gz 文件 -
--with-stream:启用 TCP/UDP 四层代理模块
执行后若看到 Configuration summary 和 make -f objs/Makefile 提示,说明配置成功,当前目录下已生成 Makefile。
执行 make 编译并安装
配置成功后,依次运行:
make
make install
说明:
-
make:读取当前目录的Makefile,调用 gcc 编译源码,生成二进制文件objs/nginx -
make install:将编译产物(二进制、配置文件、HTML 页面等)按--prefix复制到目标目录
编译完成后,可验证:
/usr/local/nginx/sbin/nginx -v
补充说明
如果只想编译不安装,只运行 make 即可;生成的可执行文件位于 objs/nginx,可直接运行测试(需确保配置文件路径正确)。若修改了源码或想重新编译,建议先 make clean 清理旧对象文件,再 make。











