Sửa lỗi: Nginx Too many levels of symbolic links

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

[[email protected] 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
Cám ơn bạn đã đọc hết bài viết, hãy bấm chia sẻ lên mạng xã hội để nhớ rằng bạn đã từng nắm được kiến thức do bài viết này cung cấp rồi:
Share

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *