现有的Nginx版本是1.16,需要升级为1.19
原本1.16的nginx是通过yum安装的,所以升级它只需要执行:yum -y update nginx
但是更新失败,发现问题:
通过执行yum list | grep nginx和yum info nginx发现我可以安装的Linux版本为1.16(没截图,下面会截1.19版本的图片),并不可以直接安装1.19
解决:在/etc/yum.repo.d目录下创建一个nginx.repo文件,编写nginx.repo文件,文件内容:
[nginx]
name=nginx
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1
保存退出后,再次查看可安装版本
yum list | grep nginx
yum info nginx
进行升级:
yum -y update nginx
现在就正常升级了
但是又发现问题,nginx升级完后重启后发现服务启动不起来。
原因:nginx升级了,但是它的一些依赖关系还是1.16版本
查看版本:
rpm -qa | grep nginx
发现好几个都是1.16版本的
执行命令:
yum remove nginx-mod*
yum install nginx-module-*
删除了之前版本的,重新下了最新版本的
重启服务OK,nginx可以正常运行
检查原本的nginx.conf文件,并没有发生改变
检查原本的/usr/share/nginx/html目录,发现原本的网页都被替换了,不过我们并没存放什么。
将一些目录和文件检查了一下,并没啥改变。
访问nginx的默认网页,发现问题,无法访问,页面找不到
看报错日志,发现默认访问的路径是/etc/nginx/html(这个目录都没有。。),但是这个路径没有配置过。。。很奇怪为啥会走这个路径,而不是/usr/share/nginx/html,解决就是创建这个目录,将/usr/shar/nginx/html中的文件拷贝过去就行。
nginx -s reload重新刷一下nginx就好了。
这个目录发生改变并没有影响我们什么,我们也没放东西在网页目录下,用nginx是为了做代理。