先附上錯誤信息:
1 (myblog) root@Dapeng:/home/uwsgi# service nginx status 2 ● nginx.service - A high performance web server and a reverse proxy server 3 Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) 4 Active: active (running) since Thu 2019-05-02 13:49:36 CST; 29s ago 5 Process: 17090 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS) 6 Process: 17101 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) 7 Process: 17094 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) 8 Main PID: 17103 (nginx) 9 Tasks: 2 10 Memory: 1.8M 11 CPU: 35ms 12 CGroup: /system.slice/nginx.service 13 ├─17103 nginx: master process /usr/sbin/nginx -g daemon on; master_process on 14 └─17104 nginx: worker process 15 16 May 02 13:49:36 Dapeng systemd[1]: Stopped A high performance web server and a reverse proxy server. 17 May 02 13:49:36 Dapeng systemd[1]: Starting A high performance web server and a reverse proxy server... 18 May 02 13:49:36 Dapeng systemd[1]: nginx.service: Failed to read PID from file /run/nginx.pid: Invalid argument 19 May 02 13:49:36 Dapeng systemd[1]: Started A high performance web server and a reverse proxy server.
我的操作系統是ubuntu16.04,今天突然重啟nginx后,發現給我報了一個502的錯誤,看了一下nginx的狀態,里面有一個錯誤提示,就如同標題那樣,遂Google,在一個歪果仁的個人博客中看到一個鏈接,解決了我的問題,我這里只做一個搬運工,有問題的小伙伴也可以參考。再附上ubuntu社區參考鏈接:bug for ubuntu
這個問題被當做bug來解決了,不過好在有大神解決,附上解決思路:
1 It seems to be a race between systemd and nginx. As if systemd was expecting the PID file to be populated before nginx had the time to create it. 2 3 Workaround: 4 5 mkdir /etc/systemd/system/nginx.service.d 6 printf "[Service]\nExecStartPost=/bin/sleep 0.1\n" > /etc/systemd/system/nginx.service.d/override.conf 7 systemctl daemon-reload
然后我們再重啟一下就好了。