设置上的 Varnish 错误 503

Posted

技术标签:

【中文标题】设置上的 Varnish 错误 503【英文标题】:Error 503 on Varnish on Setup 【发布时间】:2013-12-03 09:10:46 【问题描述】:

我已经在运行我的 drupal 站点的 centos 服务器上设置了 Varnish。 由于 503 :Service Unavailable ,浏览到任何页面都会返回空白页面

我已经阅读了很多关于间歇性 503 的问题和答案,但这种情况经常发生。我仍然可以使用 www.example.com:8080 浏览该网站。

我正在使用 VCL 在 Centos 6 上运行: https://raw.githubusercontent.com/NITEMAN/Varnish_VCL_samps-hacks/master/varnish3/drupal-base.vcl

我也试过https://fourkitchens.atlassian.net/wiki/display/TECH/Configure+Varnish+3+for+Drupal+7。

甚至不知道从哪里开始调试。

附加信息: 下面的 NITEMANS 回答提供了一些非常有用的调试建议。 就我而言,这很简单,我在 default.vcl 中保留了默认的 127.0.0.1 。将其更改为我的真实外部 IP 可以使事情正常进行。我希望这是正确的做法!

【问题讨论】:

【参考方案1】:

当您运行我的示例 VCL 时,它应该很容易调试(分别尝试每个步骤):

确保 apache 正在侦听 127.0.0.1:8080(因为它可以侦听另一个 IP 而不是本地环回)。 netstat -lpn | grep 8080 应该会有所帮助。 增加后端超时(如果服务器很慢,因为定义的超时已经很大)。需要重新加载清漆。 禁用运行状况探测(因为 Varnish 可以将后端标记为有病)。在backend default 上评论probe basic 阻止和探测行。需要重新加载清漆。 禁用清漆逻辑,取消注释sub vcl_recv 上的第一个return(pipe)。需要重新加载清漆。

调试时还应提供:

varnishadm debug.health 输出 varnishlog 示例请求的输出

希望对你有帮助!

【讨论】:

谢谢NITEMAN。你的调试建议正是我所需要的,你的 VCL 是完美的,注释真的很有帮助。

以上是关于设置上的 Varnish 错误 503的主要内容,如果未能解决你的问题,请参考以下文章

Varnish/Apache 随机 503 错误

如何自定义 503 错误 - varnish 4

如何修复 Magento-1.9.4 中的“无法将 VCL 应用到 127.0.0.1:6082:无法从 Varnish 读取响应代码”错误

varnish详解

varnish使用yum安装及不同域名站点

varnish实现web加速缓存