Có lúc nào đó bạn restart lại Nginx nhưng nó không thể khởi động và kiểm tra log thấy báo lỗi:
Can't open PID file /var/run/nginx.pid (yet?) after start: Too many levels of symbolic links
[root@voduy home]# systemctl status nginx.service -l
* nginx.service - nginx - high performance web server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: failed (Result: timeout) since Sun 2019-11-03 21:31:39 +07; 7s ago
Docs: http://nginx.org/en/docs/
Process: 32754 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
Nov 03 21:30:09 99 systemd[1]: Stopped nginx - high performance web server.
Nov 03 21:30:09 99 systemd[1]: Starting nginx - high performance web server...
Nov 03 21:30:09 99 systemd[1]: Can't open PID file /var/run/nginx.pid (yet?) after start: Too many levels of symbolic links
Nov 03 21:31:39 99 systemd[1]: nginx.service start operation timed out. Terminating.
Nov 03 21:31:39 99 systemd[1]: Failed to start nginx - high performance web server.
Nov 03 21:31:39 99 systemd[1]: Unit nginx.service entered failed state.
Nov 03 21:31:39 99 systemd[1]: nginx.service failed.
Lý do là Nginx khó chịu với những thư mục là đường dẫn ảo symbolic links
Bạn cấu hình lại Nginx sử dụng pid file tại vị trí thực khác chứ không phải đường dẫn ảo nhé: (ví dụ ta có thư mục /run
)
Sửa lại vị trí pid trong nginx.conf:
nano /etc/nginx/nginx.conf
pid /run/nginx.pid;
Và tập tin nginx.service tìm dòng sau và sửa lại:
nano /usr/lib/systemd/system/nginx.service
PIDFile=/run/nginx.pid
Chạy lại dịch vụ:
systemctl daemon-reload
service nginx restart