- 1
Simulasikan konfigurasi tidak valid
Buat berkas konfigurasi Nginx yang sengaja tidak valid, lalu mulai ulang layanan untuk menghasilkan kondisi kegagalan yang dapat dianalisis.
bashecho "baris_salah;" | sudo tee /etc/nginx/conf.d/rusak.conf sudo systemctl restart nginxJob for nginx.service failed ...
- 2
Langkah 1: evaluasi status layanan
Tinjau status `Active`, kode keluar, dan pesan terbaru untuk mengidentifikasi indikasi awal kegagalan.
bashsystemctl status nginx - 3
Langkah 2: analisis log layanan
Opsi `-x` menambahkan konteks penjelasan, sedangkan `-e` membuka log pada bagian paling akhir.
bashjournalctl -xeu nginx - 4
Langkah 3: validasi konfigurasi
Jalankan pengujian sintaks untuk memperoleh nama berkas dan nomor baris yang menyebabkan konfigurasi ditolak.
bashsudo nginx -tunknown directive "baris_salah" in /etc/nginx/conf.d/rusak.conf:1
- 5
Langkah 4: pulihkan dan verifikasi layanan
Singkirkan berkas konfigurasi yang bermasalah, validasi ulang sintaks, mulai ulang layanan, lalu uji respons HTTP lokal.
bashsudo rm /etc/nginx/conf.d/rusak.conf sudo nginx -t sudo systemctl restart nginx curl -I http://localhost - 6
Skenario 2: konflik port layanan
Jalankan server alternatif pada port 80, kemudian coba aktifkan Nginx. Identifikasi proses yang sudah menggunakan port tersebut.
bashsudo systemctl stop nginx sudo python3 -m http.server 80 & sudo systemctl start nginx sudo ss -tlnp | grep :80Log Nginx menunjukkan: bind() to 0.0.0.0:80 failed (98: Address already in use)
- 7
Pulihkan skenario konflik port
Hentikan proses yang menggunakan port 80, mulai ulang Nginx, lalu validasi status layanan.
bashsudo pkill -f "http.server 80" sudo systemctl restart nginx systemctl is-active nginxactive
- 8
Gunakan checklist diagnostik
Terapkan urutan pemeriksaan yang konsisten: status layanan, log (`journalctl -u`), validasi konfigurasi, port yang digunakan (`ss -tlnp`), izin berkas, aturan firewall, dan kapasitas disk.
bashdf -h ss -tlnp sudo ufw status