3. Konfigurasi, Error & Log
Kebiasaan emas: nginx -t sebelum reload
Section titled “Kebiasaan emas: nginx -t sebelum reload”sudo nginx -t && sudo systemctl reload nginxnginx -t memeriksa seluruh konfigurasi tanpa mengubah apa pun. Tanda && memastikan reload hanya dijalankan kalau tes berhasil. Kalau konfigurasi rusak dan kamu langsung restart, nginx gagal menyala dan semua situs di server ikut mati.
Membaca pesan error
Section titled “Membaca pesan error”nginx: [emerg] directive "root" is not terminated by ";" in /etc/nginx/sites-enabled/blog:5Pesan nginx selalu menyebut apa masalahnya dan di mana (file:baris). Buka file dengan nomor baris:
cat -n /etc/nginx/sites-available/blogError yang sering muncul:
| Pesan | Penyebab |
|---|---|
is not terminated by ";" |
lupa titik koma |
unexpected "}" / unexpected end of file |
kurung kurawal tidak seimbang |
unknown directive "rot" |
salah ketik nama directive |
a duplicate default server |
dua situs sama-sama memakai default_server |
invalid port in upstream |
port di proxy_pass salah |
Memperbaiki tanpa editor
Section titled “Memperbaiki tanpa editor”Di server sungguhan kamu bisa memakai nano. Di terminal latihan, kita memakai sed untuk mengganti teks:
sudo sed -i 's|root /var/www/blog$|root /var/www/blog;|' /etc/nginx/sites-available/blogs|LAMA|BARU| mengganti teks; $ berarti “akhir baris”; -i menyimpan perubahan langsung ke file.
Log: dua sumber kebenaran
Section titled “Log: dua sumber kebenaran”sudo tail -n 20 /var/log/nginx/access.log # siapa meminta apa, hasilnya kode berapasudo tail -n 20 /var/log/nginx/error.log # kenapa gagalsudo tail -f /var/log/nginx/error.log # pantau langsung (Ctrl+C untuk berhenti)Satu baris access log:
127.0.0.1 - - [19/Oct/2026:09:45:00 +0700] "GET /tidak-ada HTTP/1.1" 404 162 "-" "curl/8.5.0"Kode status yang perlu kamu kenal: 200 OK, 301/302 redirect, 403 dilarang (biasanya permission), 404 tidak ditemukan, 502 backend tidak menjawab.
Lab: Memperbaiki konfigurasi yang rusak
Misi 0/8
- Rekan kerjamu baru mengubah konfigurasi blog. Tes dulu sebelum reload!
Petunjuk
sudo nginx -t - Buka file yang disebut di pesan error, lengkap dengan nomor baris.
Petunjuk
cat -n /etc/nginx/sites-available/blog - Perbaiki baris
rootyang lupa titik koma.Petunjuk
sudo sed -i 's|root /var/www/blog$|root /var/www/blog;|' /etc/nginx/sites-available/blog - Tes lagi — sekarang harus berhasil.
Petunjuk
sudo nginx -t - Reload nginx.
Petunjuk
sudo systemctl reload nginx - Minta halaman yang tidak ada di blog.
Petunjuk
curl -I http://blog.local/tidak-ada - Cari penyebabnya di error log.
Petunjuk
sudo tail -n 3 /var/log/nginx/error.log - Lihat catatan permintaan di access log.
Petunjuk
sudo tail -n 3 /var/log/nginx/access.log
GNU nano ·
Tab = indentasi

