千家信息网

Centos6中Varnish启动失败如何解决

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关Centos6中Varnish启动失败如何解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Varnish是一款高性能的W
千家信息网最后更新 2026年11月01日Centos6中Varnish启动失败如何解决

这篇文章将为大家详细讲解有关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 startStarting Varnish Cache: Failed to change owner on ./vcl.qQKfF5iP.c: Operation not permittedRunning 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

关于Centos6中Varnish启动失败如何解决就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

问题 信息 提示 内容 命令 文章 更多 权限 模式 知识 篇文章 不错 幸运 成功 犹豫 东西 代码 函数 办法 加速器 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技股 远信互联网科技 火传媒上海互联网科技 科技伦理 互联网公司 恒生科技互联网指数分析 中国科技互联网公司收入 阿里互联网科技公司 重庆互联网医院沙龙医盟信息科技 彤创互联网科技有限公司 赶超互联网科技 微信多开 互联网科技与大数据专业 互联网保险科技创业 工业互联网等科技实现智能化赋能 九思连强互联网电子科技有限公司 云鲸互联网络科技有限公司 吉林省码上互联网科技电话 互联网科技手机排行榜 华人运通互联网科技公司 互联网科技创业计划的风险分析 银川新华互联网科技学校招聘 互联网科技股 互联网科技卖菜 关于新基建和互联网科技 上海互联网科技有限公司 广州互联网络科技有限公司 互联网科技上市公司 广州恒生互联网科技有限 浙南科技城互联网大厦招聘 唯美互联网科技 互联网科技创业计划的风险分析
0