(免责声明:是的,我知道有很多这样的问题,但在发布这篇文章之前我确实搜索了大约半个小时)
我正在尝试设置 zabbix 来监控 nginx,方法ngx_http_stub_status_module
如下本教程。
这是在我的开发服务器上,所以配置文件很简单...我的主要站点.conf 文件是...
例子.conf
server {
listen 80;
server_name example.com www.example.com;
location /static/ {
root /var/www/example.com/example;
}
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://unix:/run/gunicorn.example.sock;
}
}
然后我想要一个单独的虚拟主机进行监控,如果没有别的,只是为了练习
基本状态.conf
server {
listen 80;
server_name localhost;
access_log /var/log/nginx/server_status.log main;
location = /basic_status {
stub_status;
allow 127.0.0.1;
allow ::1;
deny all;
}
}
对于basic_status.conf
文件,我也尝试了以下操作
listen 127.0.0.1;
server_name 127.0.0.1;
server_name localhost.test; #with a corresponding 127.0.0.1 localhost.test in /etc/hosts
并访问我尝试过的页面...
curl localhost/basic_status
curl localhost
curl 127.0.0.1/basic_status
curl 17.0.0.1
curl localhost.test/basic_status
curl localhost.test
但我得到的只是。
[error] 2467#2467: *1 connect() to unix:/run/gunicorn.example.sock failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: example.com, request: "GET / HTTP/1.1", upstream: "http://unix:/run/gunicorn.example.sock:/", host: "localhost"
我并不想仅仅为了练习\学习如何正确地执行此操作而使用 default_server。
我知道答案可能很简单而且明显...:-) 但我现在不知所措。
编辑:
文件位置是
/etc/nginx/sites-available/example.conf
/etc/nginx/sites-available/basic_status.conf
都带有符号链接/etc/nginx/sites-enabled/
使用 Ubuntu 20.04
编辑2:
事实证明我实际上并没有.conf
在 basic_status 的末尾,直到按照评论中的理查德·史密斯 (Richard Smith) 建议的那样做,nginx -T
我才发现它甚至没有拾取该文件。