CentOS5.4之nginx启动异常

1
2
###安装Nginx###
[root@JIRA_Mysql ~] #yum -y install nginx
1
2
###启动Nginx###
[root@JIRA_Mysql ~] #service nginx start -->无任何启动输出信息,当时可郁闷
1
2
3
###查看端口### 
[root@JIRA_Mysql ~] # ss -tanlp | grep nginx   -->端口正常,郁闷消除
0      0                              *:80                            *:*       users :(( "nginx" ,3092,6),( "nginx" ,3093,6))

但是浏览器无法显示页面。

1
2
###查看状态###
[root@JIRA_Mysql ~] #service nginx status -->无信息显示

查看error.log发现错误:

1
2
3
[root@JIRA_Mysql nginx] # tail -f /var/log/nginx/error.log
2014 /10/24  20:10:05 [emerg] 18760 #0: eventfd() failed (38: Function not implemented)
2014 /10/24  20:10:05 [emerg] 18759 #0: worker process 18760 exited with fatal code 2 and can not be respawn

错误很明显,Google发现是内核版本太低不支持eventfd(eventfd是实现线程之间事件通知的方式)导致的,故须升级内核即可。

1
2
3
###查看当前内核版本###
[root@JIRA_Mysql ~] #cat /proc/version 
Linux version 2.6.18-164.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46))  #1 SMP Thu Sep 3 03:28:30 EDT 2009

如非特意指定内核版本升级,可使用如下升级方式-->简单粗暴。

1
2
3
4
5
wget http: //mirrors .163.com/.help /CentOS6-Base-163 .repo      #下载163Base源
yum clean all            #清理缓存
yum makecache            #建立缓存
rpm -- import  /etc/pki/rpm-gpg/RPM-GPG-KEY *       #导入签名KEY到RPM
yum  upgrade-y           #升级内核版本至最新

升级之后系统版本也会变成最新的版本哦。

1
2
[root@JIRA_Mysql yum.repos.d] # cat /etc/issue
CentOS release 5.11 (Final)
1
2
[root@JIRA_Mysql ~] # cat /proc/version 
Linux version 2.6.18-398.el5 (mockbuild@builder17.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-55))  #1 SMP Tue Sep 16 20:50:52 EDT 2014
1
2
3
[root@JIRA_Mysql ~] # service nginx restart
停止 nginx:                                               [确定]
启动 nginx:                                               [确定]