nginx版本过低【1.12】
cd /usr/local/
wget http://nginx.org/download/nginx-1.20.1.tar.gz
tar xf nginx-1.20.1.tar.gz
rm -f nginx-1.20.1.tar.gz
cd nginx-1.20.1/
#安装更新/依赖
yum -y install redhat-rpm-config.noarch pcre-devel openssl openssl-devel libxslt-devel gd-devel perl-ExtUtils-Embed
#编译
./configure --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx
#检测
echo $?
#为0,则继续
make
#检测
echo $?
#为0,则继续,-->替换旧的nginx二进制文件
mv /usr/sbin/nginx /usr/sbin/nginx.old
rsync -av objs/nginx /usr/sbin/
#向旧的Nginx的Master进程发送USR2信号
kill -USR2 UID号(master的pid进程号)
#向旧的master进程发送WINCH信号,旧的worker子进程优 雅退出
kill -WINCH UID号
#向旧的master进程发送QUIT信号,旧的master进程就退出了
kill -QUIT UID号
此时会有一个报错
nginx: [emerg] module "/usr/lib64/nginx/modules/ngx_http_geoip_module.so" version 1012002 instead of 1014000 in /usr/share/nginx/modules/mod-http-geoip.conf:1
#原因是之前的旧模块不适用新版本
#解决
vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
rsync -av /etc/nginx /etc/nginx.old
yum remove nginx-mod*
yum install nginx-module-*
#启动
nginx
Nginx平滑升级
最新推荐文章于 2024-01-25 16:16:50 发布