无法终止 - nginx:主进程 nginx -g daemon off

无法终止 - nginx:主进程 nginx -g daemon off

我在我的 Ubuntu 上设置了 Nginx 和 OpenRusty,有一件事让我感到困惑,即使在我退出 OpenRusty 并停止 Nginx 之后,我仍然可以观察到 nginx 正在运行,似乎这个过程甚至无法被杀死,我的问题是谁启动了这个 nginx 以及为什么这个 nginx 守护进程一直在运行?

ps -aux | grep nginx
root      3779  0.0  0.0  10776  6180 ?        Ss   06:57   0:00 **nginx: master process nginx -g daemon off;**
systemd+  4587  0.0  0.0  11172  2756 ?        S    06:57   0:00 nginx: worker process
jia      17315  0.0  0.0  16184  1068 pts/0    S+   07:08   0:00 grep --color=auto nginx

我尝试使用 systemctl 来停止它,但 nginx 似乎仍在运行

sudo systemctl stop nginx.service
 
 sudo systemctl status nginx.service 
● nginx.service - The NGINX HTTP and reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; disabled; vendor preset: enabled)
   Active: inactive (dead)

 sudo ps -aux | grep nginx root 3779 0.0 0.0 10776 6180 ? Ss 06:57 0:00 nginx: master process nginx -g daemon off; 
    systemd+ 4587 0.0 0.0 11172 2756 ? S 06:57 0:00 nginx: worker process

答案1

OpenResty(假设你指的是 OpenRsty 而不是 OpenRsty!是 nginx 的 http 守护进程的工具集和高级配置。因此,如果 openresty 正在运行,它将始终包含正在运行的 nginx。

所以对我来说你的ps -aux | grep nginx结果是:

...
root      8402  0.0  0.0  49984 14580 ?        SNs  Jul25   0:00 nginx: master process /usr/local/openresty/nginx/sbin/nginx -g daemon on; master_process on;
...

我的配置似乎包含完整路径,但如果您的配置没有,您可以尝试(8402用您的 nginx 的 pid 替换):

sudo ls -l /proc/8402/exe

就我而言,结果是:

lrwxrwxrwx 1 root root 0 Sep 20 16:46 /proc/8402/exe -> /usr/local/openresty/nginx/sbin/nginx

因此,正在运行的 nginx 二进制文件来自 OpenResty,而不是“其他”nginx。您可能还考虑删除其他 nginx,以免对正确的配置文件感到困惑...

相关内容