我在Linux服务器(Varnish缓存)中有magento网站,一些产品详细信息页面显示错误为
错误503后端获取失败Guru Meditation:XID:98757
我的网站IP为52.163.xxx.xx
请查看以下详细信息并帮助我解决此问题。
的/ etc /默认/清漆
DAEMON_OPTS="-a :8080 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"
/etc/varnish/default.vcl
backend default{
.host = "127.0.0.1";
.port = "8080";
}
sudo service varnish restart
答案 0 :(得分:2)
据我了解,你在同一台Linux机器上运行清漆和后端网络服务器(比如nginx或apache),对吗?
首先,尝试运行此命令:
sudo netstat -anp | grep LISTEN | grep 8080
查看端口8080和ip上绑定的进程。
你的问题的第一部分建议清漆正在运行,只是无法连接到后端。 但第二部分告诉我你无法开始清漆。 所以请说清楚,也许附上上面命令的输出。
让我们继续第二部分,即清漆无法启动。
我猜你有8080上运行的后端服务器,无论是nginx,apache还是其他什么。 你的清漆后端配置毕竟确认了它。
检查Web服务器是否绑定在127.0.0.1而不是0.0.0.0上,不允许公共流量直接连接到后端Web服务器。
如果是这种情况,您必须将侦听ip:清漆端口更改为非碰撞组合。
你可以:
您可以通过将主要清漆配置更改为:
来执行最后一个选项DAEMON_OPTS="-a 52.163.xxx.xx:8080 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"
这种情况有一个重要的缺点。如果你以某种方式来到新的公共IP,你必须在主要的清漆配置中更改它。如果这是您可以编码到自动化配方中的东西,那应该不是问题。但是如果你手工管理它,请确保你有非常好的记录练习,否则你将来会发现鬼虫。 :)
答案 1 :(得分:1)
一个错误是让Varnish和后端服务器在同一个端口8080
上运行。您有2个选项可以解决此问题:
最直接,最简单。调整清漆DAEMON_OPTS
以收听端口80
。
它可能仍然在相同的端口上工作,前提是您使Varnish和后端服务器在不同的接口上侦听:
DAEMON_OPTS="-a 52.163.xxx.xx:8080 ...
127.0.0.1
上侦听。你的VCL是“空的”,你应该使用相应的Magento插件,通过为你生成正确的VCL文件,确保Varnish缓存东西: