Cara Memeriksa Error Log Nginx di Linux Server

Memeriksa error log Nginx adalah langkah mutlak pertama untuk mendiagnosis kegagalan server web, seperti kesalahan konfigurasi, lonjakan akses terlarang, atau error HTTP 500 internal server. Lokasi standar file error log Nginx berada di direktori /var/log/nginx/error.log, sedangkan log akses umumnya berada di /var/log/nginx/access.log.

Lokasi Standar File Log Nginx

Secara default pada distribusi Linux berbasis Debian/Ubuntu maupun RHEL/CentOS, konfigurasi direktori log didefinisikan dalam file nginx.conf utama. Berikut adalah tabel rincian lokasi file log berdasarkan sistem operasi:

Distribusi Linux Lokasi Error Log Lokasi Access Log
Ubuntu / Debian /var/log/nginx/error.log /var/log/nginx/access.log
CentOS / RHEL / AlmaLinux /var/log/nginx/error.log /var/log/nginx/access.log
Docker Container /dev/stderr (symlink ke stdout) /dev/stdout

Perintah Dasar Membaca Error Log

Untuk melihat baris log secara real-time atau membaca bagian akhir dari file log, gunakan utilitas baris perintah Linux seperti tail, less, atau grep.

1. Memantau Log Secara Real-Time (Tail)

Gunakan perintah berikut untuk melihat error baru yang masuk ke server secara langsung:

sudo tail -f /var/log/nginx/error.log

2. Melihat 50 Baris Terakhir

Jika terjadi error mendadak, periksa baris terakhir untuk menemukan akar masalah:

sudo tail -n 50 /var/log/nginx/error.log

3. Menyaring Log Berdasarkan Tingkat Keparahan (Severity Level)

Nginx mencatat log dengan level berbeda: debug, info, notice, warn, error, crit, alert, atau emerg. Gunakan grep untuk memfilter tingkat error tertentu:

sudo grep -i "crit" /var/log/nginx/error.log

Troubleshooting Kasus Lapangan

Beberapa pesan error paling sering muncul di log Nginx beserta solusi cepat penyelesaiannya:

  • Permission Denied (13: Permission denied): Terjadi karena Nginx tidak memiliki hak akses membaca direktori web root atau file socket PHP-FPM. Periksa kepemilikan file menggunakan chown -R www-data:www-data /path/to/web.
  • Connection Refused (111: Connection refused): Nginx gagal terhubung ke backend seperti PHP-FPM atau Node.js. Pastikan layanan backend aktif melalui perintah systemctl status php8.1-fpm.
  • A client request body is buffered to a temporary file: Menandakan ukuran unggahan file melebihi batas client_max_body_size. Tambahkan parameter tersebut di dalam blok http atau server pada file konfigurasi Nginx.

Tips Rotasi Log

File log yang dibiarkan tanpa manajemen akan menghabiskan kapasitas disk server. Gunakan utilitas bawaan logrotate yang biasanya sudah dikonfigurasi otomatis di /etc/logrotate.d/nginx untuk melakukan kompresi dan penghapusan log secara berkala.