有台生产服务器, Nginx 每天都会因为不同原因 exit 一次,虽然配了自动重启,有没办法排查是什么原因?平均一天 1820 万请求

85 天前
 drymonfidelia

每天原因都不一样,这是今天的日志

Aug 15 13:07:32 hostname nginx[3297853]: nginx: [emerg] host not found in upstream "backend.example.com" in /etc/nginx/sites-enabled/app1:25
Aug 15 13:07:32 hostname nginx[3297853]: nginx: configuration file /etc/nginx/nginx.conf test failed
Aug 15 13:07:32 hostname systemd[1]: nginx.service: Control process exited, code=exited, status=1/FAILURE
Aug 15 13:07:32 hostname systemd[1]: nginx.service: Failed with result 'exit-code'.
Aug 15 13:07:32 hostname systemd[1]: Failed to start A high performance web server and a reverse proxy server.

在这几秒前崩了没写日志,这个日志是刚自动重启后又崩了的。没改配置,10 秒后第三次自动重启就成功了。backend 在别的服务器上,内网 DNS 也一直正常

3017 次点击
所在节点    NGINX
24 条回复
xxxccc
84 天前
“/etc/nginx/sites-enabled/app1:25” 看看这个文件的第 25 行吧
drymonfidelia
84 天前
@xxxccc 第 25 行就是 proxy_pass 没什么特别的
drymonfidelia
84 天前
@yinmin 我贴的就是 `journalctl -u nginx` 输出的日志,之前不知道为什么没输出日志直接崩了,现在按照你说的把域名换成 IP 了,不知道今天还会不会崩
yinmin
84 天前
@drymonfidelia 你查一下/var/log/nginx 下面的日志文件 access.log 、error.log 在 nginx 异常重启前的日志情况

如果日志文件很大,可以使用 awk 根据时间查看:

awk '$4 >= "[15/Aug/2024:13:07:00" && $4 <= "[15/Aug/2024:13:07:33"' /var/log/nginx/access.log
awk '$1 >= "2024/08/15" && $1<= "2024/08/15" && $2 >="13:07:00" && $2<="13:07:33"' /var/log/nginx/error.log

$4 是 access.log 的日期的位置,如果你们自定义过 access.log 的格式,可以修改到匹配的位置

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1065205

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX