如何从零开始源码编译安装指定版本Nginx完整指南

轻涛酱_8488

轻涛酱_8488

2026-04-02

420人浏览

原创

从零源码编译安装Nginx 1.24.0需自主控制依赖、版本、模块及路径:先装gcc、PCRE、zlib、OpenSSL等基础依赖;再下载解压源码;最后用./configure指定--prefix、模块及用户等参数完成配置。

如何从零开始源码编译安装指定版本nginx完整指南

从零开始源码编译安装指定版本的 Nginx,核心在于控制依赖、版本、模块和配置路径——不依赖系统包管理器,完全自主掌控运行环境。以下步骤适用于主流 Linux 发行版(如 CentOS 7+/Rocky/AlmaLinux、Ubuntu 20.04+),以安装 Nginx 1.24.0 为例(你可替换为任意官方支持的版本)。

准备编译环境与基础依赖

确保系统已安装编译工具链和 Nginx 构建所需的基础库:

  • C 编译器:gcc、g++(或 clang)、make
  • PCRE:支持正则表达式(rewrite 指令必需)
  • zlib:支持 gzip 压缩(gzip on 必需)
  • OpenSSL:支持 HTTPS(TLS 1.2+,推荐 1.1.1 或 3.0+)

示例命令(Ubuntu/Debian):

sudo apt update && sudo apt install -y build-essential libpcre3-dev zlib1g-dev libssl-dev

CentOS/RHEL 系:

sudo yum groupinstall -y "Development Tools"
sudo yum install -y pcre-devel zlib-devel openssl-devel

下载并解压指定版本 Nginx 源码

前往 nginx.org/download/ 找到目标版本(如 nginx-1.24.0.tar.gz),用 wget 下载并解压到自定义工作目录:

wget https://www.php.cn/link/9926b3ed9e0bc20b2ed7f32711b8b45fnginx-1.24.0.tar.gz
tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0

注意:不要用 root 用户直接解压或编译;建议使用普通用户操作,仅在安装阶段提权。

配置 configure 参数(关键!)

运行 ./configure 前,明确你要的安装路径、启用模块、禁用默认模块等。常用安全 & 实用参数示例:

./configure \
--prefix=/usr/local/nginx-1.24.0 \
--sbin-path=/usr/local/nginx-1.24.0/sbin/nginx \
--conf-path=/usr/local/nginx-1.24.0/conf/nginx.conf \
--pid-path=/usr/local/nginx-1.24.0/run/nginx.pid \
--lock-path=/usr/local/nginx-1.24.0/run/nginx.lock \
--error-log-path=/usr/local/nginx-1.24.0/logs/error.log \
--http-log-path=/usr/local/nginx-1.24.0/logs/access.log \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-pcre \
--with-zlib \
--with-openssl=../openssl-3.0.12 \  # 若需指定 OpenSSL 源码路径(非系统库)
--user=www-data \
--group=www-data

说明:

  • --prefix 是根目录,后续所有路径都基于它;建议带版本号,方便多版本共存
  • --with-openssl= 后接本地 OpenSSL 源码路径时,Nginx 会静态链接该版本(增强 TLS 安全性)
  • --user/--group 指定 worker 进程运行身份,需提前创建对应系统用户(sudo useradd -r -s /bin/false www-data)
  • 执行后检查输出末尾是否显示 configuration summary 且无 ERROR;若提示 missing 库,请返回第二步补装

编译安装并验证

确认 configure 成功后,依次执行:

make -j$(nproc)  # 并行编译,加速过程
sudo make install

安装完成后,验证版本与模块:

/usr/local/nginx-1.24.0/sbin/nginx -v
/usr/local/nginx-1.24.0/sbin/nginx -V  # 大写 V 查看全部编译参数和模块

启动前先检查配置语法:

/usr/local/nginx-1.24.0/sbin/nginx -t

若输出 successful,即可启动:

/usr/local/nginx-1.24.0/sbin/nginx

访问 http://localhost 或服务器 IP,看到 “Welcome to nginx!” 页面即成功。

(可选)配置 systemd 服务与开机自启

创建服务文件 /etc/systemd/system/nginx-1.24.0.service:

[Unit]
Description=nginx 1.24.0
After=network.target
<p>[Service]
Type=forking
User=root
Group=root
PIDFile=/usr/local/nginx-1.24.0/run/nginx.pid
ExecStartPre=/usr/local/nginx-1.24.0/sbin/nginx -t -c /usr/local/nginx-1.24.0/conf/nginx.conf
ExecStart=/usr/local/nginx-1.24.0/sbin/nginx -c /usr/local/nginx-1.24.0/conf/nginx.conf
ExecReload=/usr/local/nginx-1.24.0/sbin/nginx -s reload
ExecStop=/usr/local/nginx-1.24.0/sbin/nginx -s stop
Restart=on-failure</p><p>[Install]
WantedBy=multi-user.target</p>

启用服务:

sudo systemctl daemon-reload
sudo systemctl enable nginx-1.24.0
sudo systemctl start nginx-1.24.0

整个过程无需修改系统默认 nginx,也不影响其他服务。只要保留源码目录和 configure 命令,未来升级或回滚版本只需重跑一遍流程。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

960

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3212

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1056

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

949

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

494

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2956

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5532

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

867

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习