文章背景:护网期间,客户跟我说nginx有0day漏洞,需要版本升级,我寻思着我也不是运维啊,问我干嘛(你干嘛~ 哎呦~),我没做过版本升级,只好随便百度了一篇发给他,之后我按上面的步骤来发现不成功,所以专心地研究了一会,产出了这篇文章。
1.云服务器一台(或虚拟机)
2.两个不同版本的nginx压缩包
1.进入1.18目录修改nginx配置
./configure \
--prefix=/usr \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--http-log-path=/var/log/nginx/access.log
配置简要解释
--prefix web根目录路径
--sbin-path nginx的二进制文件存放路径
--conf-path nginx的配置文件存放路径
其他的不解释了
2.编译并安装
make && make install
3.查看当前版本
nginx -V
为了证明版本平滑升级成功,我先在旧版本留下两条访问日志
还在web根目录留下一个文件,按照正常需求,版本升级不应该会丢失文件。
1.修改新版本的配置,跟旧版本的配置必须一样,如果想查看旧版本的配置可以输入nginx -V
2.编译和安装新版本
安装完之后,nginx -V
发现nginx的版本已经从1.18升级到1.23了!
查看web根目录,发现文件依然存在
再访问两次网站,看看日志
日志也能正常使用,可以说版本平滑升级成功了!!
1.编译不成功,没有下载对应的包
2.找不到目录,手动创建目录