最近准备在esxi4中建一个centos虚拟机,目的是要将ASP.NET 和 PHP运行环境分隔开来,为squid反向代理打好基础。 在本机vm中测试发现安装完lighttpd后无法启动,报告couldn’t set ‘maxfiledescriptors’ Operation not permitted,大致意思就是无法设置最大的filedescriptors,操作不被允许。 GOOGLE了下,发现可能是selinux的问题,因为我是用root用户启动lighttpd,按常理不会出现这种没有权限的问题,为了验证是否是selinux的问题 在命令行下输入: # setenforce 0 然后再运行 # service lighttpd restart ,不再报错, 再运行 # setenfoce 1 又报错了 现在确定了是selinux限制了程序设置最大文件描述符,解决方法如下: 1)关闭selinux : # vi /etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled后重启。 2)创建一个selinux模块允许lighttpd有权限设置filedescriptor限制 # /usr/sbin/semodule -DB # service auditd restart # service lighttpd restart # grep lighttpd /var/log/audit/audit.log | audit2allow -M lighttpdmaxfds2 # semodule -i lighttpdmaxfds2.pp # service lighttpd restart(责任编辑:IT) |