Mengatasi Error nginx.service: Failed to read PID from file /run/nginx.pid: Invalid argument

Error!, tiba-tiba web tidak bisa dibuka. hmmm. Langkah awal memeriksa ketika server sedang error adalah dengan memeriksa file log. Web server Nginx biasanya lognya berada di /var/log/nginx

Pada kasus seperti ini bisa disebabkan karena hardisk sudah penuh, seperti yang saya alami. Untuk itu coba periksa kapasitas hardisk dengan perintah berikut.

df -h

Jika disk full, cari file yang ukurannya besar, biasanya ini file log yang berada di /var/log/* atau file yang diunggah oleh user /home/, masuk ke direktori yang dicurigai tersebut, misalnya cd /var/log dan jalankan perintah ini

find -type f -exec du -Sh {} + | sort -rh | head -n 5

Kalau sudah ketemu tindak file tersebut, misalnya adalah berupa file log, maka hapus konten yang berada di file log tersebut.

echo > error_log

Kemudian cek status Nginx

service nginx status

Jika malasahnya seperti ini

“nginx.service: Failed to read PID from file /run/nginx.pid: Invalid argument”

Solusinya adalah, jalankan perintah berikut

mkdir /etc/systemd/system/nginx.service.d
printf "[Service]\nExecStartPost=/bin/sleep 0.1\n" > /etc/systemd/system/nginx.service.d/override.conf
systemctl daemon-reload

Jika masih gagal, ada cara yang kedua

ExecStopPost=/bin/rm -f /run/nginx.pid

Setelah saya coba browsing untuk masalah serupa, ternyata ini merupakan bug, baik di Linux Ubuntu dan CentOS kebetulan di kedua OS tersebut pernah saya alami dengan nasib yang sama.

Catatan:

Jika nginx sudah running, tapi masih error, connection refused, Periksa filewall. Untuk CentOS jangan lupa allow port 80 pada firewalld

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

Untuk Ubuntu

ufw allow 80

Semoga berhasil.

2 thoughts on “Mengatasi Error nginx.service: Failed to read PID from file /run/nginx.pid: Invalid argument

  • Leave a Reply

    Your email address will not be published. Required fields are marked *