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 blokhttpatauserverpada 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.