Semua modul / Penanganan insiden

Diagnosis dan Pemulihan Layanan

Mensimulasikan kegagalan layanan Nginx di lingkungan terisolasi, menganalisis bukti, menerapkan perbaikan, dan memverifikasi pemulihan layanan.

  • 8 langkah
  • Analisis akar masalah
  • Diagnosis Nginx
Praktikkan di Bash Ubuntu
  1. 1

    Simulasikan konfigurasi tidak valid

    Buat berkas konfigurasi Nginx yang sengaja tidak valid, lalu mulai ulang layanan untuk menghasilkan kondisi kegagalan yang dapat dianalisis.

    bash
    echo "baris_salah;" | sudo tee /etc/nginx/conf.d/rusak.conf
    sudo systemctl restart nginx
    

    Job for nginx.service failed ...

  2. 2

    Langkah 1: evaluasi status layanan

    Tinjau status `Active`, kode keluar, dan pesan terbaru untuk mengidentifikasi indikasi awal kegagalan.

    bash
    systemctl status nginx
    
  3. 3

    Langkah 2: analisis log layanan

    Opsi `-x` menambahkan konteks penjelasan, sedangkan `-e` membuka log pada bagian paling akhir.

    bash
    journalctl -xeu nginx
    
  4. 4

    Langkah 3: validasi konfigurasi

    Jalankan pengujian sintaks untuk memperoleh nama berkas dan nomor baris yang menyebabkan konfigurasi ditolak.

    bash
    sudo nginx -t
    

    unknown directive "baris_salah" in /etc/nginx/conf.d/rusak.conf:1

  5. 5

    Langkah 4: pulihkan dan verifikasi layanan

    Singkirkan berkas konfigurasi yang bermasalah, validasi ulang sintaks, mulai ulang layanan, lalu uji respons HTTP lokal.

    bash
    sudo rm /etc/nginx/conf.d/rusak.conf
    sudo nginx -t
    sudo systemctl restart nginx
    curl -I http://localhost
    
  6. 6

    Skenario 2: konflik port layanan

    Jalankan server alternatif pada port 80, kemudian coba aktifkan Nginx. Identifikasi proses yang sudah menggunakan port tersebut.

    bash
    sudo systemctl stop nginx
    sudo python3 -m http.server 80 &
    sudo systemctl start nginx
    sudo ss -tlnp | grep :80
    

    Log Nginx menunjukkan: bind() to 0.0.0.0:80 failed (98: Address already in use)

  7. 7

    Pulihkan skenario konflik port

    Hentikan proses yang menggunakan port 80, mulai ulang Nginx, lalu validasi status layanan.

    bash
    sudo pkill -f "http.server 80"
    sudo systemctl restart nginx
    systemctl is-active nginx
    

    active

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

    bash
    df -h
    ss -tlnp
    sudo ufw status