在现代Web开发和运维中,Nginx 是一个非常流行的高性能 Web 服务器和反向代理服务器。为了确保网站或应用的稳定运行,对 Nginx 的可用性监控就显得尤为重要。本文将带你从零开始,用最简单的方式搭建一个基础但实用的 Nginx 可用性监控系统,即使你是运维小白也能轻松上手!
Nginx可用性监控是指通过技术手段持续检测 Nginx 服务是否正常运行、响应是否及时、配置是否有效等,一旦发现问题能第一时间告警,避免用户访问失败。
这是最轻量级的监控方式,适合小型项目。首先确认你的 Nginx 编译时启用了 ngx_http_stub_status_module 模块(大多数发行版默认启用)。
在 Nginx 配置文件中(通常是 /etc/nginx/nginx.conf 或 /etc/nginx/sites-enabled/default)添加以下配置:
location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; # 仅允许本地访问 allow your.monitor.ip; # 可选:允许监控服务器IP deny all; # 拒绝其他所有IP} 保存后重载 Nginx 配置:
sudo nginx -s reload
现在你可以通过访问 http://your-server-ip/nginx_status 查看实时状态,输出类似:
Active connections: 3 server accepts handled requests 10 10 25 Reading: 0 Writing: 1 Waiting: 2
我们可以写一个简单的 Bash 脚本,每分钟检查一次 Nginx 是否返回 200 状态码。
#!/bin/bashURL="http://localhost"STATUS=$(curl -s -o /dev/null -w "%{http_code}" $URL)if [ "$STATUS" != "200" ]; then echo "[ERROR] Nginx is down! HTTP Status: $STATUS" | mail -s "Nginx Alert" your@email.com # 或者发送到企业微信/钉钉等fi 将上述脚本保存为 check_nginx.sh,赋予执行权限并加入 crontab 定时任务:
chmod +x check_nginx.sh# 每分钟执行一次echo "* * * * * /path/to/check_nginx.sh" | crontab -
当你的服务规模扩大,建议使用如 Prometheus + Grafana、Zabbix 或 Netdata 等专业工具进行 服务器监控 和可视化。它们不仅能监控 Nginx,还能监控 CPU、内存、磁盘等系统指标。
通过本文,你已经掌握了基础的 Nginx健康检查 方法。无论是使用内置模块还是简单脚本,都能有效提升你的服务可靠性。记住,Nginx监控 不是“可有可无”,而是保障线上业务连续性的关键一环。
赶快动手试试吧!哪怕只部署一个简单的脚本,也能让你的网站多一份安心。
关键词提示:本文涉及核心 SEO 关键词包括:Nginx监控、Nginx可用性、服务器监控、Nginx健康检查。
本文由主机测评网于2025-12-01发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025121696.html