linux下源码编译安装nginx核心是手动控制安装路径、启用模块(如https、http/2、状态监控)和适配运行环境,需先装development tools及pcre-devel、zlib-devel、openssl-devel等依赖,再通过./configure指定--prefix和模块,最后make && make install。

Linux 下从源码编译安装 Nginx,核心是手动控制安装路径、启用模块和适配运行环境。它比 yum/apt 安装更灵活,适合需要 HTTPS、HTTP/2、状态监控、第三方模块或统一部署规范的场景。
确认系统环境与清理干扰项
先明确你的发行版和架构,避免命令混用:
- 查系统:运行 cat /etc/os-release 看是 CentOS/RHEL 还是 Ubuntu/Debian;运行 uname -m 确认是 x86_64 还是 aarch64
- 查旧 Nginx:执行 which nginx 和 rpm -qa | grep nginx(CentOS)或 dpkg -l | grep nginx(Ubuntu),若有输出建议卸载干净
- 查端口占用:运行 ss -lntp | grep :80,确保 80 端口未被 Apache 或其他服务占用
安装编译依赖与基础工具
缺少任一依赖都会在 configure 或 make 阶段报错,必须提前装全:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
-
CentOS/RHEL 系:
sudo yum groupinstall "Development Tools" -y
sudo yum install -y pcre-devel zlib-devel openssl-devel -
Ubuntu/Debian 系:
sudo apt update && sudo apt install -y build-essential libpcre3-dev zlib1g-dev libssl-dev - 可选但推荐:创建低权限用户运行 Nginx,提升安全性
sudo useradd -r -s /sbin/nologin nginx
下载、配置并编译安装
以稳定版 nginx-1.28.1 为例(官网最新稳定版请访问 nginx.org/download):
- 下载解压:
wget https://www.php.cn/link/9926b3ed9e0bc20b2ed7f32711b8b45fnginx-1.28.1.tar.gz
tar -zxvf nginx-1.28.1.tar.gz && cd nginx-1.28.1 - 配置参数(关键选项说明):
./configure --prefix=/usr/local/nginx \
--user=nginx --group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_stub_status_module
其中 --prefix 指定安装根目录;--with-http_ssl_module 是启用 HTTPS 的必要项;--with-http_stub_status_module 开启连接状态统计(用于监控) - 编译安装:
make && sudo make install
注意:make 不需 root 权限,make install 需要写入目标目录权限
启动服务并验证运行
安装完成后没有 systemd 服务文件,需手动操作:
- 检查配置语法:
/usr/local/nginx/sbin/nginx -t(输出 “syntax is ok” 表示无误) - 启动服务:
/usr/local/nginx/sbin/nginx - 查看进程:
ps aux | grep nginx 应看到 master 进程和至少一个 worker 进程 - 验证访问:
用 curl http://localhost 或浏览器访问服务器 IP,返回 “Welcome to nginx!” 即成功










