发现问题
发现问题
我在重启阿里云 ECS 的时候发现宝塔面板可以正常开启,但是宝塔面板的 Nginx 服务是无法正常自动启动的,这也就导致我的项目无法正常访问
万幸的是 Nginx 服务此时仍然是可以通过面板手动开启的
但是问题总是要解决的,于是先看log
在
/www/server/nginx/logs
找到error.log文件
发现报错如下
2021/03/10 00:06:01 [emerg] 743#0: host not found in upstream "域名" in /www/server/panel/vhost/nginx/proxy/`目标子域名`/6678156071b816a639a265441e95cde1_`目标子域名`.conf:4

查明起因
当我在宝塔面板新建一个网站时
如果手动修改了某一个站点的反向代理
并且目标URL使用了域名而非IP
那么当你后面再次将反向代理的目标URL修改为IP之后
反向代理配置的第四行将会维持原先的proxy_pass值,也就是指向到域名
proxy_pass http://域名.com;

尽管此时你在面板中设置的是正确的

然而此时 Nginx 就是会在启动的时候报错导致无法随服务器自动运行!
解决问题
解决方案 1
如果能够删掉整个站点重新创建是最稳妥的,之后再创建反向代理记得使用127.0.0.1:端口(如果你要指向别的服务器请不要用127.0.0.1)
解决方案 2
这里我认为应该是宝塔的一个 BUG,因为我在宝塔面板已经将目标URL改成了IP,但在反向代理配置第四行仍然出现了没有随着改动进行变更的问题。
因此这里我们只需要将这个第四行(有些帖子反馈是第五行)的proxy_pass后面改到跟第十二行的数值一致即可!
// 这里我将第四行与十二行的两个proxy_pass保持一致
proxy_pass http://127.0.0.1:端口;
只要确保第四行的proxy_pass与我们的目标地址相同,服务就是可以正常随服务器自动启动了

这里我保存文件后重启 ECS 服务器,Nginx 服务终于可以正常启动了!!!
总结
宝塔毕竟是一款用来管理服务器的控制面板,因此如果没有看代码以及解决问题的能力那么将会非常头疼
看来还是要多学习啊!
推荐阅读
- 周记项目正式启动
- 我是如何 43 天内拿下 PMP 证书的
- 书籍分享《重新定义团队:谷歌如何工作》(1-3 章)
- 书籍分享《重新定义团队:谷歌如何工作》(第 4 章)
- 群辉 Synology NAS 实现 WOL(Wake On Lan)唤醒局域网内任意设备+siri 语音唤醒电脑
---
欢迎关注我的公众号“凯文有事找你”,原创技术、生活、经验教训文章第一时间推送。
<center> <img src="https://oss.kevinshicn.com/zhouji/04/%E5%85%AC%E4%BC%97%E5%8F%B7%E4%BA%8C%E7%BB%B4%E7%A0%81.png?x-oss-process=style/Interlace" style="width: 100px;"> </center>