昨天新安装了64位系统,所以就重新安装了一个centos的虚拟机,配置了一个测试环境,刚开始是页面打不开,这个确定是selinux规则没有设置好
使用如下命令解决:
chcon -R -h -t httpd_sys_content_t /patch/to/web/root
然后出现mysql和memcache无法连接的问题,提示权限不允许,把连接的ip从127.0.0.1改为localhost之后,mysql的问题解决,但是memcache问题依旧,google之后说还是selinux的问题,我把selinux给暂时停掉
setenforce 0
然后不再报错,但是我觉得selinux这么好一个东东不能给就这样给启用了啊,又是一顿google找到了解决办法:
setsebool -P httpd_can_network_connect true
意思就是允许进行远程连接。真不明白为啥本地连接和这个有什么关系。。。
另外说一句,我接触过两个类型的云服务器,一个是阿里云,另外一个是腾讯的。阿里云用的是虚拟机,腾讯用的是linux container,他们两个都没有开启selinux,有一次我把公司买的阿里云服务器的selinux打开了,提示我重启,然后我就reboot,结果。。。结果boot不起来了,找阿里的运维,运维说技术上没法解决,只能进行回滚操作。。。擦,还好是个新服务器,如果是个已经上线的服务器那可不完蛋了。通过自己在selinux上遇到的问题来看云服务器之所以不开启selinux应该是降低维护成本,降低运维的工作压力吧,否则那些运维会被selinux一直给纠缠着。。。