[显然我是以root身份运行varnishd]
现在,我得到这个:
[gideon@mywebsite ~]$ sudo varnishd -f /etc/varnish/default.vcl -s malloc,128m -T 127.0.0.1:2000 -a 0.0.0.0:8000 -d [sudo] password for gideon: Platform: Linux,2.6.32-358.6.2.el6.x86_64,x86_64,-smalloc,-smalloc,-hcritbit 200 284 ----------------------------- Varnish Cache CLI 1.0 ----------------------------- Linux,2.6.32-358.6.2.el6.x86_64,x86_64,-smalloc,-smalloc,-hcritbit varnish-3.0.7 revision f544cd8
我有一个非常简单的设置。 运行在0.0.0.0:5000
上的Perl Webapp,我希望清漆caching这个。 该系统是http://www.digitalocean.com上的虚拟“滴” (或VM)。 该机器是CentOS盒子 。
在/etc/sysconfig/varnish/
我有:
DAEMON_OPTS="-a :80 \ -T localhost:6082 \ -f /etc/varnish/default.vcl \ -u varnish -g varnish \ -S /etc/varnish/secret \ -s malloc,128m"
在/etc/varnish/default.vcl
里面我有:
backend default { .host = "0.0.0.0"; .port = "5000"; }
我已经尝试了一些不幸的事情。 (重新启动,替代configuration等)我可以访问我的应用程序在website.com:5000就好了。
这是我使用varnishd
时得到的:
$varnishd -f /etc/varnish/default.vcl -s malloc,128m -T 127.0.0.1:2000 -a 0.0.0.0:80 -d Failed to create ./vcl.jAoXC8Rf.c: Permission denied
我试着search各种post,(一些在SF上)都导致完全不同的情况下死路一条或解决scheme。
我打赌有一些非常基本的我做错了,但我甚至去杀死我的机器,从一个干净的VM开始,安装perl和我需要的模块,然后让我的应用程序工作,然后安装BASIC清漆从文档设置。 我做了这两次!
任何帮助和指针将非常赞赏。
backend default { .host = "0.0.0.0"; .port = "5000"; }
这是你的问题。 您不能在0.0.0.0后端。 您可能想要使用127.0.0.1。
(0.0.0.0用于告诉系统侦听到任何IP的连接,但不是连接到的有效IP)
编辑:好吧,我太快回答。 这不会解决权限问题。 你稍等一会儿。
编辑2:好的,重读我看到你修复权限问题,所以我的解决scheme应该修复非工作的后端。
varnish编译vcl的目录的权限,Ubuntu使用/ var / lib / varnish / Try chmod 666 -R / var / lib / varnish /
从上面的代码,你不是作为根运行,尝试作为根或sudotesting。 如果有效,那么权限是问题。