当前位置:首页 > 服务器技术 > 正文

Nginx多版本共存(手把手教你同时运行多个Nginx版本)

在开发或运维过程中,我们常常需要在同一台服务器上测试或运行不同版本的 Nginx。例如:新项目使用最新版 Nginx,而旧系统依赖老版本。这时,就需要实现 Nginx 多版本共存。本文将用最通俗易懂的方式,教小白如何安全、高效地在一台机器上安装并管理多个 Nginx 版本。

Nginx多版本共存(手把手教你同时运行多个Nginx版本) Nginx多版本共存 Nginx安装 Nginx配置 多版本管理 第1张

一、为什么需要 Nginx 多版本共存?

不同的 Web 应用可能依赖不同版本的 Nginx 功能或模块。例如:

  • 旧系统使用 Nginx 1.18,不兼容新语法;
  • 新项目需使用 Nginx 1.24 的 HTTP/3 支持;
  • 测试环境需对比不同版本性能差异。

此时,若强行升级或降级,可能导致服务中断。因此,Nginx多版本共存 成为最佳解决方案。

二、准备工作

确保你的 Linux 系统(如 Ubuntu/CentOS)已安装以下基础工具:

sudo apt update          # Ubuntu/Debiansudo yum update          # CentOS/RHEL# 安装编译依赖sudo apt install build-essential libpcre3 libpcre3-dev zlib1g-dev openssl libssl-dev -y   # Ubuntusudo yum groupinstall "Development Tools" -ysudo yum install pcre-devel zlib-devel openssl-devel -y                                 # CentOS

三、编译安装多个 Nginx 版本

关键点:每个版本必须安装到独立目录,避免文件覆盖。

1. 下载 Nginx 源码

# 创建工作目录cd /optmkdir nginx-versions && cd nginx-versions# 下载两个不同版本(以 1.18.0 和 1.24.0 为例)wget http://nginx.org/download/nginx-1.18.0.tar.gzwget http://nginx.org/download/nginx-1.24.0.tar.gztar -zxvf nginx-1.18.0.tar.gztar -zxvf nginx-1.24.0.tar.gz

2. 分别编译安装

安装 Nginx 1.18.0 到 /usr/local/nginx-1.18

cd nginx-1.18.0./configure --prefix=/usr/local/nginx-1.18 \            --with-http_ssl_module \            --with-http_v2_modulemake && sudo make install

安装 Nginx 1.24.0 到 /usr/local/nginx-1.24

cd ../nginx-1.24.0./configure --prefix=/usr/local/nginx-1.24 \            --with-http_ssl_module \            --with-http_v2_module \            --with-http_v3_modulemake && sudo make install

四、配置端口与启动脚本

为避免端口冲突,每个 Nginx 实例需监听不同端口(如 8080、8081)。

修改 Nginx 1.18 配置

sudo nano /usr/local/nginx-1.18/conf/nginx.conf# 将 server 块中的 listen 改为:listen 8080;

修改 Nginx 1.24 配置

sudo nano /usr/local/nginx-1.24/conf/nginx.conf# 将 server 块中的 listen 改为:listen 8081;

五、启动与管理多个 Nginx

使用完整路径启动不同版本:

# 启动 Nginx 1.18/usr/local/nginx-1.18/sbin/nginx# 启动 Nginx 1.24/usr/local/nginx-1.24/sbin/nginx# 查看进程ps aux | grep nginx

你也可以创建软链接或写启动脚本简化操作:

sudo ln -s /usr/local/nginx-1.18/sbin/nginx /usr/local/bin/nginx-1.18sudo ln -s /usr/local/nginx-1.24/sbin/nginx /usr/local/bin/nginx-1.24# 之后可直接用nginx-1.18nginx-1.24

六、常见问题与注意事项

  • 端口冲突:务必确保每个实例监听不同端口;
  • 配置隔离:不要共用 conf、logs 目录;
  • 权限问题:建议用普通用户编译,sudo 安装;
  • 防火墙设置:开放对应端口(如 8080、8081)。

七、总结

通过指定不同的安装路径和监听端口,我们可以轻松实现 Nginx多版本共存。这种方法不仅安全可靠,还便于后期维护和升级。无论你是开发者还是运维人员,掌握这一技能都能显著提升工作效率。

记住关键词:Nginx多版本共存Nginx安装Nginx配置多版本管理,它们是你搜索相关资料时的核心术语。

> 提示:生产环境中建议配合 systemd 服务或容器化(如 Docker)来更规范地管理多版本 Nginx。