讲师中心 微信公众号
AI工具推荐 视频效率加速

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

轻涛酱_8488

轻涛酱_8488

发布时间:2026-04-02 14:30:34

|

420人浏览过

|

来源于php中文网

原创

从零源码编译安装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

启用服务:

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

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

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

热门AI工具

更多
AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

相关专题

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

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

457

2023.08.15

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

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

960

2023.09.08

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

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

3192

2023.09.19

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

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

1056

2023.10.09

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

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

949

2023.10.17

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

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

494

2023.10.17

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

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

2936

2023.10.18

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

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

5492

2023.10.20

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

100

2026.10.22

热门下载

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

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn