![如何验证后端服务器作为 keepalived 健康检查的一部分是否可以访问?](https://linux22.com/image/793824/%E5%A6%82%E4%BD%95%E9%AA%8C%E8%AF%81%E5%90%8E%E7%AB%AF%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%BD%9C%E4%B8%BA%20keepalived%20%E5%81%A5%E5%BA%B7%E6%A3%80%E6%9F%A5%E7%9A%84%E4%B8%80%E9%83%A8%E5%88%86%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E8%AE%BF%E9%97%AE%EF%BC%9F.png)
我目前正在使用 Keepalived 配置高可用性设置来管理 Nginx 服务器之间的故障转移。作为此设置的一部分,我需要实现健康检查脚本来验证 Nginx 是否正在运行以及 Nginx 提供的后端站点是否可访问。
我目前使用的脚本用于killall -0 nginx
检查 Nginx 进程是否正在运行。但是,我不确定这是否是确保 Nginx 功能和后端站点可访问性的最有效方法。
使用 curl 脚本向 Nginx 服务器发送 HEAD 请求是否是更好的方法?以下是我正在考虑的修改后的脚本:
vrrp_script check_nginx {
script "/usr/bin/curl --silent --head --fail http://localhost:80/ || exit 1"
interval 2
}
这种替代方法是否更可靠、更可靠,可用于在 Keepalived 脚本中验证 Nginx 功能和后端站点可访问性?我是否应该考虑任何潜在的缺点或更好的替代方案?任何见解或建议都将不胜感激。谢谢!