系统运维
妙的安装nginx-1.12.2升级到nginx-1.16.1
一、查看现有的nginx编译参数
[root@vm-3 ~]# nginx -V
nginx版本:nginx/1.12.2
由gcc 4.8.5 20150623(红帽4.8.5-36)构建(海湾合作委员会)
使用OpenSSL 1.0.2k构建-2017年FIPS奥运会年一月26日
TLS SNI支持已启用
配置参数:prefix=/usr/share/nginxsbin-path=/usr/sbin/nginxmodules-path=/usr/lib 64/nginx/modulesconf-path=/etc/nginx/nginx。conferror-log-path=/var/log/nginx/error。loghttp-log-path=/var/log/nginx/access。loghttp-client-body-temp-path=/var/lib/nginx/tmp/client bodyhttp
二、将上面加粗字体部分进行配置,加粗字体后面为系统的配置文件不需要配置,只需要到制造,千万不要进行安装。如果进行安装会将原来的配置文件覆盖
事先可以先把这些依赖包下好,配置之后就不会出现下面这些错误了
yum-y install gcc make GeoIP GeoIP-devel GeoIP-data perl-devel perl-ExtUtils-Embed GD-devel libxml 2 libxslt-devel gperftools pcre-devel OpenSSL OpenSSL-devel
准备新版本的nginx放在/usrr/local/下
[root @ VM-3]# wget http://nginx.org/download/nginx-1.16.1.tar.gz
[root @ VM-3]# tar-xf nginx-1.16.1.tar.gz
[root@vm-3]# cd nginx-1.16.1
[root@vm-3 nginx-1.16.1]# ./configureprefix=/usr/share/nginxsbin-path=/usr/sbin/nginxmodules-path=/usr/lib 64/nginx/modulesconf-path=/etc/nginx/nginx。conferror-log-path=/var/log/log/nginx/error。loghttp-log-path=/var/log/nginx/access。loghttp-client-body-temp-path=/var/lib/nginx/tmp/client _ bodyhttp
有可能的报错
报错1:/配置:错误:HTTP XSLT模块需要libxml2/libxslt
图书馆。您可以不启用模块或安装库。
原因:缺少依赖
解决:
[root@vm-3 nginx-1.16.1]# yum -y安装libxml2 libxslt-devel
再次配置
报错2:/配置:错误:HTTP图像筛选器模块需要绿色发展库。
您可以不启用模块或安装库。
解决:安装依赖
好吃的安装广东发展银行
再次配置
报错3:/配置:错误:需要实际抽取与汇报语言模块textutils:Embed
解决:
好吃的安装perl-devel perl-ExtUtils-Embed
再次配置
报错4:/配置:错误:GeoIP模块需要GeoIP库。您可以不启用该模块或安装该库。
解决:
好吃的安装地理信息开发地理信息数据
再次配置
报错5:/配置:错误:谷歌性能工具模块需要谷歌性能工具
图书馆。您可以不启用该模块或安装该库。
解决:
妙的安装gperftools**
再次配置成功
三、制造千万不要进行安装
四、备份原nginx二进制文件
备份二进制文件和nginx的配置文件(期间nginx不会停止服务)
【root @ VM-3 nginx-1。16 .1]# mv/usr/sbin/nginx/usr/sbin/nginx _ $(日期%F)
五、复制新的nginx二进制文件,进入新的nginx源码包
【root @ VM-3 nginx-1。16 .1]# CP/root/nginx-1。16 .1/objs/nginx/usr/sbin/
六、测试新版本的nginx是否正常
【root @ VM-3 nginx-1。16 .1]# nginx-t
报错:
nginx:[紧急]模块'/usr/lib 64/nginx/modules/ngx _ http _ GeoIP _ module。所以版本1012002,而不是/usr/share/nginx/modules/mod-http-GeoIP。会议:1中的1016001
nginx:配置文件/etc/nginx/nginx.conf测试失败
解决:
vim /etc/nginx/nginx.conf //进入配置文件中
注释# include/usr/share/nginx/modules/* .会议
再次检测成功
七、给nginx发送平滑迁移信号(若不清楚pid路径,请查看nginx配置文件或find/-name \\\'nginx.pid\\\ '查找)
【root @ VM-3 nginx-1。16 .1]# kill-USR2 cat/run/nginx。PID
八、查看nginx pid,会出现一个nginx.pid.oldbin
【root @ VM-3 nginx-1。16 .1]# ll/run/nginx *
-rw-rr1 root root 5 Sep 6 00:36/run/nginx。PID
-rw-rr1 root root 6 Sep 6 00:00/run/nginx。PID。旧垃圾箱
九、从容关闭旧的Nginx进程
【root @ VM-3 nginx-1。16 .1]#压井绞车猫/运行/nginx。PID。旧垃圾箱
十、此时不重载配置启动旧的工作进程
【root @ VM-3 nginx-1。16 .1]# kill-HUP cat/run/nginx。PID。旧垃圾箱
十一、结束工作进程,完成此次升级
【root @ VM-3 nginx-1。16 .1]# kill-QUIT cat/run/nginx。PID。旧垃圾箱
十二。验证Nginx是否已成功升级。
[root @ VM-3 nginx-1 . 16 . 1]# nginx-v
nginx版本:nginx/1.16.1
升级成功。
更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理官网:www.chenqinet.cn。