Centos6下Varnish启动失败的解决办法

Varnish是一款高性能的Web加速器,缓存性能非常好,于是我也学学这么好的东西。

看到官网的最新版是4.0,毫不犹豫下载了4.0,安装上,安装非常顺利,可是用起来就没那么幸运了

代码如下:

rpm –nosignature -i https://repo.varnish-cache.org/redhat/varnish-4.0.el6.rpm

yum install varnish

准备启动varnish,却一直提示失败

代码如下:

[root@localhost ~]# service varnish start

Starting Varnish Cache: [FAILED]

根据官网的教程,使用手动方式启动,一切正常,分析结论是启动脚本有问题,于是先更改了 /etc/sysconfig/varnish 开启debug模式

在DAEMON_OPTS变量末尾 加上一个 -d ,让其以debug模式启动:

代码如下:

DAEMON_OPTS="-a ${VARNISH_LISTEN_ADDRESS}:${VARNISH_LISTEN_PORT} /

-f ${VARNISH_VCL_CONF} /

-T ${VARNISH_ADMIN_LISTEN_ADDRESS}:${VARNISH_ADMIN_LISTEN_PORT} /

-t ${VARNISH_TTL} /

-p thread_pool_min=${VARNISH_MIN_THREADS} /

-p thread_pool_max=${VARNISH_MAX_THREADS} /

-p thread_pool_timeout=${VARNISH_THREAD_TIMEOUT} /

-u varnish -g varnish /

-S ${VARNISH_SECRET_FILE} /

-s ${VARNISH_STORAGE} -d"

然后启动发现一直卡在那里,不动了,再改一下 /etc/init.d/varnish中的start函数,开始有提示信息了(” > /dev/null 2>&1 “是屏蔽任何输出信息)

代码如下:

daemon --pidfile $pidfile $exec -P $pidfile "$DAEMON_OPTS" > /dev/null 2>&1

终于有提示信息了

复制代码

代码如下:

[root@localhost ~]# service varnish start

Starting Varnish Cache: Failed to change owner on ./vcl.qQKfF5iP.c: Operation not permitted

Running VCC-compiler failed, exited with 2

VCL compilation failed

[FAILED]

原来是权限问题,觉得可能是个4.0的新版本bug,只能将启动的用户和组改成root(-u 和 -p),先将就用用吧,反正只是拿来学习一下。如果是生产系统,建议不要用root启动,因为一旦varnish存在漏洞,如远程溢出或者命令执行,直接就是root权限。

复制代码

代码如下:

DAEMON_OPTS="-a ${VARNISH_LISTEN_ADDRESS}:${VARNISH_LISTEN_PORT} /

-f ${VARNISH_VCL_CONF} /

-T ${VARNISH_ADMIN_LISTEN_ADDRESS}:${VARNISH_ADMIN_LISTEN_PORT} /

-t ${VARNISH_TTL} /

-p thread_pool_min=${VARNISH_MIN_THREADS} /

-p thread_pool_max=${VARNISH_MAX_THREADS} /

-p thread_pool_timeout=${VARNISH_THREAD_TIMEOUT} /

-u root -g root /

-S ${VARNISH_SECRET_FILE} /

-s ${VARNISH_STORAGE}"

不要忘了把-d去除,启动成功

终极解决办法:

后来找到了问题的根源,是因为Centos/Redhat的Selinux问题(貌似是bug),参见:https://bugzilla.redhat.com/show_bug.cgi?id=1125165

只要执行如下命令即可正确启动Varnish:

复制代码

代码如下:

#setenforce 0

(0)

相关推荐

  • Centos6下Varnish启动失败解决方法

    Varnish是一款高性能的Web加速器,缓存性能非常好,于是我也学学这么好的东西。 看到官网的最新版是4.0,毫不犹豫下载了4.0,安装上,安装非常顺利,可是用起来就没那么幸运了 rpm –nosi ...

  • Linux或者Mac下adb连接失败如何解决

    不管是在Windows系统还是在Linux系统中,相信不少用户或开发者都遇到过手机adb连接不上的情况.其实出现这种问题很多时候是由于adb冲突导致的,毕竟很多软件都有自己的adb链接.那么,出现这种 ...

  • CentOS下telnet退出失败如何解决?CentOS下telnet退出失败的解决方法

    最近有CentOS用户反映用telnet连接后发现是Windows防火墙的问题,可是用telnet命令连接成功后发现退不出去了,这该怎么办?下面小编就给大家介绍下CentOS下telnet退出失败的解 ...

  • Win10下WP恢复工具无法安装解决办法

    很多朋友在将电脑升级完Win10正式版后,发现在Win10系统中安装WP恢复工具(Windows Phone recovery tool)会失败,小编也遇到类似的问题,现在和大家分享一下解决方法.本文 ...

  • Ubuntu升级到12.04失败的解决办法

    Ubuntu升级到12.04失败的解决办法 前段时间,从ubuntu 11.10升级到12.04的时候,不知到是网络的原因还是怎么回事突然卡住了,到了第二天一看还卡在原来的地方。看来这下是死机了。强制 ...

  • Win10应用程序无法正常启动0xc0000018错误解决办法

    Win10应用程序无法正常启动0xc0000018错误解决办法,在使用Win10的过程中有时当打开一款软件时会弹出下面的错误消息,导致软件无法正常启动: explorer.exe - 应用程序错误 应 ...

  • WIN8.1补丁更新失败的解决办法

    WIN8.1补丁更新失败的解决办法 win8.1 Update更新失败,重启提示:无法完成更新 正在撤销更改,解决办法. 经过查看是:Windows 8.1 更新(KB2919355)补丁导致,重启提 ...

  • Win7安装SQL Server2008提示重启计算机失败的解决办法

    Win7安装SQL Server2008提示重启计算机失败的解决办法 1.同时按下Win7旗舰版电脑键盘上的win+R快捷键打开电脑的运行窗口,在打开的运行窗口中,输入regedit并单击回车,这样就 ...

  • WinXP系统安装字体失败的解决办法

    WinXP系统安装字体失败的解决办法 第一步:给C:\WINDOWS\Fonts文件夹添加"只读"."系统"两大属性,方法如下:开始->打开->输入 ...