自动构建最新版本的 Nginx

背景

Nginx 是现代互联网中最受欢迎的高性能 Web 服务器和反向代理服务器之一。为了充分发挥其性能,我们通常需要使用最新版本的 Nginx,并静态链接最新的依赖库(如 PCRE2、zlib 和 OpenSSL)。然而,手动下载和编译这些依赖库既耗时又容易出错。

为了解决这个问题,我在 GitHub 项目 中编写了一个脚本,可以自动化完成这一流程,大幅简化了 Nginx 的构建和安装过程。


脚本功能

  • 自动化获取最新版本
    脚本从 GitHub 拉取以下依赖库的最新稳定版本:
  • PCRE2
  • zlib
  • OpenSSL
  • Nginx
  • 静态编译支持
    将所有依赖库静态编译到 Nginx 中,生成独立的二进制文件。

  • TLS 1.3 支持
    使用最新版本的 OpenSSL,启用 TLS 1.3 加密协议。

  • 多操作系统兼容
    自动检测系统的包管理器(yumapt),并安装所需的构建工具。目前支持:

  • CentOS 7+
  • Ubuntu 24.04+
  • 阿里云 Linux 3

使用方法

步骤 1:下载并运行脚本

您可以通过以下命令一键下载并运行脚本:

bash <(curl -L https://raw.githubusercontent.com/weida/nginx-latest-builder/main/nginx-builder.sh)

步骤 2:完成安装

脚本会自动下载、编译和安装最新的 Nginx。执行完毕后,您可以通过以下命令查看版本信息:

/usr/local/nginx/sbin/nginx -V

自定义配置

脚本默认使用以下 Nginx 配置选项,您可以根据需求在脚本中修改:

--with-http_ssl_module \
--with-http_v2_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_realip_module \
--with-http_sub_module \
--with-pcre=/path/to/pcre2 \
--with-zlib=/path/to/zlib \
--with-openssl=/path/to/openssl \
--with-openssl-opt="enable-tls1_3" \
--with-cc-opt="-O2" \
--with-ld-opt="-Wl,-rpath,/usr/local/lib"

总结

通过这个脚本,您可以轻松获得一套最新的 Nginx 服务环境,无需手动下载、配置和编译依赖库,大大提升了效率。如果您对项目感兴趣,欢迎访问 GitHub 项目主页 查看详细代码并参与贡献!


 

图片from林佳興

Comments are closed.