要在 CentOS 上升级 Nginx 版本,你可以按照以下步骤操作:
备份旧版本 Nginx:
sudo cp -a /usr/sbin/nginx /usr/sbin/nginx_old
添加官方 Nginx 源:
编辑 /etc/yum.repos.d/nginx.repo
文件,添加或更新为官方源:
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
选择要安装的版本:
默认情况下,nginx-stable
会安装稳定版本。如果你想安装主线版本,可以将 nginx-stable
改为 nginx-mainline
。
更新 Nginx:
sudo yum update nginx
重启 Nginx:
sudo systemctl restart nginx
如果你需要特定版本的 Nginx 或者官方源中没有你需要的版本,可以选择手动编译安装:
安装依赖包:
sudo yum install -y epel-release
sudo yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
下载所需版本的 Nginx 源码: 访问 Nginx 官方下载页面,找到你需要的版本并下载源码包。
wget http://nginx.org/download/nginx-1.21.6.tar.gz
tar -zxvf nginx-1.21.6.tar.gz
cd nginx-1.21.6
配置编译选项:
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-threads --with-stream --with-http_slice_module --with-mail --with-mail_ssl_module --with-file-aio --with-http_v3_module
编译并安装:
make
sudo make install
备份旧版本 Nginx:
sudo cp -a /usr/sbin/nginx /usr/sbin/nginx_old
创建新的符号链接:
sudo ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
重启 Nginx:
sudo systemctl restart nginx
通过以上步骤,你应该能够在 CentOS 上成功升级 Nginx 版本。