“nginx没有运行” – 但实际上是

运行Ubuntu Server 14.04.1 LTS

检查nginx状态说它没有运行:

$ sudo service nginx status * nginx is not running 

但是,正如它所支持的网站正在运作一样,并且:

过程存在:

 $ ps aux | grep nginx root 1445 0.0 0.2 86008 1448 ? Ss 18:06 0:00 nginx: master process /usr/sbin/nginx www-data 1446 0.0 0.3 86320 1868 ? S 18:06 0:00 nginx: worker process www-data 1447 0.0 0.3 86320 1868 ? S 18:06 0:00 nginx: worker process www-data 1448 0.0 0.3 86320 1868 ? S 18:06 0:00 nginx: worker process www-data 1449 0.0 0.4 86320 2372 ? S 18:06 0:00 nginx: worker process 

和netstat显示它在监听:

 $ sudo netstat -tlnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1445/nginx 

这种奇怪的结果是,如果我改变一个设置,我不能service nginx reload ,而是必须killall nginx,然后再次启动(使用服务nginx启动)。

我怎样才能解决这个问题?

我更新了nginx并在Ubuntu 12.04上遇到同样的问题。

我切换到root用户,然后杀死所有的nginx进程。

kill $(ps aux | grep '[n]ginx' | awk '{print $2}')

之后开始nginx,一切都显得很好。