linux中从零编译安装nginx需严格按“装依赖→下源码→配参数→编译→安装→启动”六步执行:先装gcc、pcre-devel、zlib-devel、openssl-devel;再下载解压源码并进入目录;接着用--prefix、--with-http_ssl_module等选项配置;然后make编译、sudo make install安装;最后nginx -t测试并启动。

在 Linux 系统中从零编译安装 Nginx,核心是“装依赖 → 下源码 → 配参数 → 编译 → 安装 → 启动”,每步都需准确执行,缺一不可。
准备系统依赖和编译工具
Nginx 源码不能直接运行,必须先装好底层支撑库和编译器:
- gcc:C语言编译器,没有它就无法 make
- pcre-devel:支持 rewrite、location 正则匹配(不是 pcre,而是带 -devel 的开发包)
- zlib-devel:提供 gzip 压缩能力,用于响应体压缩
- openssl-devel:启用 HTTPS 必须,否则 --with-http_ssl_module 会失败
不同系统命令略有差异:
CentOS/Rocky/AlmaLinux:
yum install -y gcc pcre-devel zlib-devel openssl-devel(CentOS 7)
dnf install -y gcc pcre-devel zlib-devel openssl-devel(CentOS 8+ / Stream)
Ubuntu/Debian:
apt update && apt install -y build-essential libpcre3-dev zlib1g-dev libssl-dev
下载并解压 Nginx 源码
去官网 nginx.org/en/download.html 找稳定版(如 nginx-1.24.0.tar.gz),用 wget 直接拉取:
wget http://nginx.org/download/nginx-1.24.0.tar.gz
tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0
注意:别跳过 cd 进入解压后的目录,后续 configure 必须在源码根目录执行。
配置编译选项(关键一步)
./configure 不只是“走个流程”,它决定最终 Nginx 能做什么。常用选项示例:
- --prefix=/usr/local/nginx:指定安装路径,建议统一用这个,便于管理
- --with-http_ssl_module:必须加,否则无法配置 HTTPS(哪怕暂时不用,也建议带上)
- --with-http_stub_status_module:开启状态页(/nginx_status),方便监控连接数、请求数等
- --with-http_v2_module:启用 HTTP/2 支持(现代浏览器默认走 HTTP/2)
完整命令示例:
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_v2_module
执行后若无报错(尤其注意不要出现 “not found” 或 “error:”),说明依赖齐全、路径可写、参数合法。
编译并安装
确认 configure 成功后,依次执行:
make —— 编译过程耗时较长,CPU 占满属正常
sudo make install —— 把二进制、配置文件、日志目录等复制到 --prefix 指定位置
安装完成后,目录结构为:/usr/local/nginx/ 下含 conf/(配置)、sbin/nginx(主程序)、logs/、html/ 等子目录。
验证是否装好:
/usr/local/nginx/sbin/nginx -t —— 测试配置语法
/usr/local/nginx/sbin/nginx —— 启动服务
访问服务器 IP,看到 “Welcome to nginx!” 页面即成功。











