“nginx 没有运行”-但实际上它正在运行

“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,而是必须杀死所有 nginx,然后重新启动它(使用服务 nginx 启动)。

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

答案1

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

我切换到root用户然后终止所有nginx进程。

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

之后启动 nginx,一切看起来都很好。

相关内容