我有一个 Ubuntu 16.04 xenial Nginx 服务器环境,并postfix
在/var/www/html
.
我如何通过发送到我的个人 Gmail 帐户的电子邮件来通知自己,如果我的网站挂了?
理想的状态是,如果网页或至少在主页中没有给出 https 状态 200(正常),我将收到每日电子邮件,每天问题没有得到解决。
例如,每天我都会得到:
您好,您的网站 domain.tld 已关闭。请修复它。
答案1
正如评论中提到的,实际上有几十种方法可以做到这一点。
最基本的可能是从日常 cron 作业中调用wget
或curl
并检查其退出代码(如果他们无法下载页面,他们将返回非零退出代码),然后使用它来触发电子邮件。虽然这种方法有一些问题(例如,两者wget
都curl
遵循重定向,所以它对于几乎任何 3xx 代码也将成功,只要它指向可访问的页面)。
更进一步的是像这样的工具监控,它还有一个额外的好处,你可以让它监视你的网络服务器进程,让你知道它是否停止运行,并进行各种其他有用的检查(包括允许大多数任意脚本化的网络服务检查、检查网络接口状态, ETC)。这可能是大多数单一服务器上最简单的选项。
如果你有很多服务器,你可能会看看类似的东西纳吉奥斯,它是为处理网络范围内的健全性检查而设计的。
但请记住,无论您选择哪个选项,您都可能需要运行本地邮件服务器将邮件转发到您的 gmail 帐户(尽管如果您不使用阻止出站 SMTP 连接的托管服务)。