备份现有nginx配置
sudo cp -r /etc/nginx ~/nginx_backup
更新apt源文件
sudo vim sources.list
# 文件末尾添加以下两行并保存
deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu/ bionic nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ bionic nginx
导入nginx公钥
sudo wget http://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
准备安装新nginx
#更新源
sudo apt-get update
#查看可安装的nginx版本
sudo apt-cache show nginx
会列出几个版本,选最上面最新的
停止运行中的nginx,并卸载
sudo nginx -s stop
sudo apt remove nginx nginx-common nginx-full nginx-core
安装新版本
sudo apt-get install nginx=1.23.2-1~bionic
注:在安装过程中会问你是否需要保留原配置,选N保留。
# 安装完成,查看nginx版本
sudo nginx -v
在etc/nginx/conf.d/ 中会多出来一个默认配置文件default.conf,可以删了或者改个名。检查一下配置文件,证书之类的没问题的话,就可以愉快的启nginx了。
sudo systemctl start nginx
如果启动出现pid没有权限之类的问题:
#查看
cat /lib/systemd/system/nginx.service
#文件里面关于pid的路径是否和/etc/nginx/nginx.conf的一样,如果不一样,把/lib/systemd/system/nginx.service的路径改为/etc/nginx/nginx.conf里配置pid文件的路径即可。
#改完/lib/systemd/system/nginx.service后,需要执行:
sudo systemctl daemon-reload
#然后再启动nginx一下
sudo systemctl start nginx
#看一下服务状态
sudo systemctl status nginx
图中四个路径应该一致。