在开发或运维过程中,我们常常需要在同一台服务器上测试或运行不同版本的 Nginx。例如:新项目使用最新版 Nginx,而旧系统依赖老版本。这时,就需要实现 Nginx 多版本共存。本文将用最通俗易懂的方式,教小白如何安全、高效地在一台机器上安装并管理多个 Nginx 版本。
不同的 Web 应用可能依赖不同版本的 Nginx 功能或模块。例如:
此时,若强行升级或降级,可能导致服务中断。因此,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
关键点:每个版本必须安装到独立目录,避免文件覆盖。
# 创建工作目录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
安装 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 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
通过指定不同的安装路径和监听端口,我们可以轻松实现 Nginx多版本共存。这种方法不仅安全可靠,还便于后期维护和升级。无论你是开发者还是运维人员,掌握这一技能都能显著提升工作效率。
记住关键词:Nginx多版本共存、Nginx安装、Nginx配置、多版本管理,它们是你搜索相关资料时的核心术语。
> 提示:生产环境中建议配合 systemd 服务或容器化(如 Docker)来更规范地管理多版本 Nginx。
本文由主机测评网于2025-12-01发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025121720.html