Nginx域名监控配置(手把手教你用Nginx实现网站可用性监控)

V5主机测评

在日常的网站运维中,确保你的网站始终在线是非常重要的。如果你使用的是 Nginx 作为 Web 服务器,那么你可以利用它内置的功能来实现简单的域名监控。本文将从零开始,教小白用户如何配置 Nginx 来监控你的网站是否正常运行。

什么是 Nginx 域名监控?

Nginx 域名监控并不是指 Nginx 自带完整的监控系统,而是通过配置 Nginx 的健康检查、日志分析或结合外部脚本,来判断某个域名或服务是否可访问。这种做法常用于负载均衡、高可用架构中,也可以用于简单的站点可用性检测。

Nginx域名监控配置(手把手教你用Nginx实现网站可用性监控)

准备工作

在开始之前,请确保你已经:

  • 安装了 Nginx(推荐版本 1.18 或以上)
  • 拥有服务器 root 或 sudo 权限
  • 知道你要监控的域名(例如:example.com)

方法一:使用 Nginx 内置的 stub_status 模块

虽然 stub_status 模块不能直接监控外部域名,但它可以让你了解 Nginx 自身的状态,是监控体系的第一步。

编辑 Nginx 配置文件(通常位于 /etc/nginx/nginx.conf/etc/nginx/sites-available/default),添加以下内容:

server {    listen 80;    server_name localhost;    location /nginx_status {        stub_status on;        access_log off;        allow 127.0.0.1;   # 只允许本地访问        deny all;          # 拒绝其他所有 IP    }}

保存后,重载 Nginx 配置:

sudo nginx -t && sudo nginx -s reload

然后在服务器上执行:

curl http://localhost/nginx_status

如果看到类似以下输出,说明配置成功:

Active connections: 2 server accepts handled requests 10 10 20 Reading: 0 Writing: 1 Waiting: 1

方法二:使用 upstream + health_check(需 Nginx Plus 或第三方模块)

开源版 Nginx 不支持主动健康检查,但你可以通过 被动健康检查 实现基本监控。例如,当后端服务返回错误时,Nginx 会自动将其标记为不可用。

upstream backend {    server 192.168.1.10:80 max_fails=3 fail_timeout=30s;    server 192.168.1.11:80 max_fails=3 fail_timeout=30s;}server {    listen 80;    server_name example.com;    location / {        proxy_pass http://backend;        proxy_set_header Host $host;    }}

这里 max_fails=3 表示连续 3 次请求失败后,该服务器将在 30 秒内被标记为不可用(由 fail_timeout 控制)。这是一种简单的网站状态监控机制。

方法三:结合 Shell 脚本 + 定时任务(推荐给小白)

对于普通用户,最实用的方法是写一个简单的 Shell 脚本,定期检查你的域名是否能返回 200 状态码。

创建脚本 /home/monitor/check_domain.sh

#!/bin/bashDOMAIN="https://example.com"STATUS=$(curl -o /dev/null -s -w "%{http_code}" "$DOMAIN")if [ "$STATUS" -eq 200 ]; then    echo "[$(date)] $DOMAIN is UP" >> /var/log/domain_monitor.logelse    echo "[$(date)] $DOMAIN is DOWN! HTTP Status: $STATUS" >> /var/log/domain_monitor.log    # 这里可以加入邮件告警、微信通知等fi

赋予执行权限并设置定时任务:

chmod +x /home/monitor/check_domain.sh# 编辑 crontabcrontab -e# 添加一行(每5分钟检查一次)*/5 * * * * /home/monitor/check_domain.sh

这样你就实现了基于 Nginx 服务的服务器运维自动化监控!

总结

虽然 Nginx 本身不是专业的监控工具,但通过合理配置和脚本辅助,完全可以构建一个轻量级的Nginx域名监控系统。无论是使用内置模块、负载均衡策略,还是外部脚本,都能有效提升你的网站可靠性。

希望这篇Nginx配置教程能帮助你迈出网站监控的第一步!

文章版权声明:除非注明,否则均为V5主机测评网_性价比VPS_性价比云服务器_免费独立服务器原创文章,转载或复制请以超链接形式并注明出处。