nginx二进制平滑升级
注意nginx执行平滑升级需要保证老版本程序正在运行。
为了执行nginx执行程序方便,在此之前安装时候已经做了软连接
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
查看当前运行版本
nginx -v
下载软件包
这里将上面版本升级至nginx1.24.0版本
访问nginx官网“http://nginx.org/en/download.html”,下载软件包。
服务器不能访问外网,可下载至本地,然后由本地上传至服务器,鼠标点击图中箭头指向处可进行下载到本地
服务器或虚拟机能访问外网的可直接下载软件包。在上图1-2箭头指向处,鼠标右击,然后点击“复制连接”,执行如下命令可进行下载
wget http://nginx.org/download/nginx-1.24.0.tar.gz
解压软件包
tar -xf nginx-1.24.0.tar.gz
进入解压nginx压缩包生成的目录
cd nginx-1.24.0/
查看配置文件所在路径
nginx -t
创建配置文件和前端网页根目录备份路径
mkdir /nginx-back
备份配置文件和前端网页根目录(前端网页根目录可在配置文件查看 root指向处)
cp -r /usr/local/nginx/conf/nginx.conf /nginx-back/
cp -r /usr/local/nginx/html /nginx-back/
查看当前旧安装的模块
nginx -V
对新版本nginx预编译模块配置(注意:所在路径图1-5以及configure后面的跟的参数是上图1-4执行nginx -V保持一致)
pwd
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre --with-stream --with-stream_ssl_module
执行编译(注意目录所在位置,需要和上面configure所在的路径保持一致)
make
make执行完成后验证是否编译成功执行 echo $?, 返回0表示编译成功,返回非0标识编译失败。如下图1-6表示编译成功。
将旧版本nginx的执行程序备份
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
将新本的nginx执行程序拷贝到原有旧版本的路径下
cp objs/nginx /usr/local/nginx/sbin/nginx
执行升级操作,如图1-7
make upgrade
验证是否升级成功,如下图1-8表示升级成功
echo $?
验证版本
nginx -v