环境描述:
系统CentOS 5.9 kernel : 2.6.18-371.6.1.el5
由于目前服务器用的nginx代理服务器存在单点问题,所以考虑到可用性,所以准备用另外一台比较闲置的服务器部署一个nginx。
安装过程:# yum -y install nginx
安装完之后修改了配置文件,并且启动了nginx,问题就出在这个时候。
[root@ip-10-160-177-43 nginx]# ps -ef | grep nginx
root 18933 1 0 07:27 ? 00:00:00 nginx: master process nginx
发现只有一个master进程,感觉很不对劲啊!一个CPU的机器,至少有一个work process吧?
看了下端口,如果,端口都很正常
并且测试了下nginx_status的页面,无法获取...看来确实有问题了。
于是查看error.log 发现如下错误
错误很明显了,反正我是看不懂……于是果断谷歌...看到文章说kernel太低,于是升级了下内核.
升级之后的内核版本为 kernel : 2.6.21.7-2.fc8xen
继续尝试,仍然如上报错...苦逼了.
最后查询解决方法:安装nginx.tar.gz包,并且不带--with-file-aio这个参数
问题产生原因:kernel2.6.21--2.6.22之间的内核不支持 eventfd() ,但是nginx却带了--with-file-aio编译的