Linux源码编译安装Nginx核心为五步:装依赖(gcc、pcre-devel、zlib-devel、openssl-devel)、下最新源码并校验、配置模块参数(如SSL、状态页)、make编译与make install安装、启动验证语法及服务。
在 Linux 中用源码包编译安装 Nginx,核心是自主掌控版本、模块和运行环境。整个过程分五步:装依赖、下源码、配参数、编译安装、启动验证。每步都影响后续是否能启用 HTTPS、状态页或安全运行。
缺任何一个,configure 就会失败或禁用关键功能:
sudo apt install -y build-essential;CentOS/RHEL 用 sudo dnf groupinstall "C Development Tools and Libraries"
别用镜像站或旧版,避免安全隐患:
nginx-1.28.2.tar.gz
wget 获取后,执行 sha256sum nginx-1.28.2.tar.gz,与正式公布的哈希值比对tar -zxvf nginx-1.28.2.tar.gz && cd nginx-1.28.2
这一步决定 Nginx 能做什么。运行 ./configure 前建议先创建运行用户:
sudo useradd -r -s /sbin/nologin nginx
./configure
--prefix=/usr/local/nginx
--user=nginx --group=nginx
--with-http_ssl_module
--with-http_v2_module
--with-http_stub_status_module
--with-http_gzip_static_module
执行后检查输出里是否显示 checking for PCRE library ... found 等字样,确认各模块为 enabled。
不覆盖系统文件,所有内容落在 --prefix 指定目录中:
make -j$(nproc)
sudo make install
/usr/local/nginx/sbin/nginx,配置文件在 /usr/local/nginx/conf/nginx.conf
源码安装默认不带 systemd 服务,需手动操作:
/usr/local/nginx/sbin/nginx -t(应返回 syntax is ok)/usr/local/nginx/sbin/nginx
ps aux | grep nginx,确认 master + worker 进程存在curl http://localhost 应返回欢迎页;若端口被防火墙拦住,加规则:sudo firewall-cmd --add-port=80/tcp --permanent && sudo firewall-cmd --reload