Cara Memperbaiki Pesan Kesalahan Umum Nginx: Panduan Langkah-demi-Langkah

Diterbitkan: 2023-06-05

Apa Itu Kesalahan NGINX?

Kesalahan Nginx mengacu pada cegukan atau kesalahan yang terjadi saat menggunakan server web Nginx. Nginx adalah server web yang banyak digunakan, yang diandalkan sebagian besar situs web. Namun, seperti perangkat lunak apa pun, ia dapat mengalami kesalahan yang dapat mengganggu kelancaran fungsi situs web Anda.

Misalnya, anggap itu sebagai gangguan di jalan yang dapat mengganggu fungsi normal situs web Anda atau aplikasi web apa pun. Nginx, sebagai sistem perangkat lunak yang sangat kompleks, terkadang dapat mengalami masalah yang disebabkan oleh berbagai faktor. Seperti pengaturan yang salah, masalah yang terjadi di sisi server, masalah jaringan, atau bahkan kesalahan yang dilakukan oleh klien.

Kesalahan Nginx dapat bermanifestasi dalam berbagai bentuk, beberapa di antaranya mungkin sudah Anda kenal. Misalnya, ini termasuk nginx 502 Bad Gateway Error, 404 Not Found Error, 503 Service Unavailable Error, 504 Gateway Timeout Error, serta redirect error (301 dan 302).

Untuk memastikan pengalaman yang mulus bagi pengunjung situs web Anda, menangani kesalahan nginx secara efektif sangat penting. Nginx, server web, menemukan kesalahan dari waktu ke waktu dan mengomunikasikannya menggunakan kode kesalahan tertentu. Dengan memahami kode-kode ini, Anda dapat dengan mudah mengidentifikasi sifat masalah dan dapat memperbaikinya.

Dalam panduan komprehensif ini, kami akan menggali kesalahan umum Nginx, mengeksplorasi penyebabnya, dan memberikan solusi praktis untuk membantu Anda memecahkan masalah dan menyelesaikan masalah ini secara efektif.


Daftar isi
Apa Itu Kesalahan NGINX?
Beberapa Jenis Kesalahan Nginx yang Umum
Apa yang menyebabkan kesalahan NGINX?
Bagaimana cara memperbaiki kesalahan NGINX?
Bagaimana Mencegah Kesalahan Nginx di Masa Depan?
Ringkasan
Pertanyaan yang Sering Diajukan

Beberapa Jenis Kesalahan Nginx yang Umum

Kesalahan Nginx dapat berasal dari berbagai sumber, termasuk kesalahan konfigurasi, masalah sisi server, masalah jaringan, atau permintaan klien. Mari kita lihat beberapa jenis error Nginx umum yang mungkin Anda temui:

Pesan dan Solusi Kesalahan Umum Nginx:

1. 502 Kesalahan Gerbang Buruk:

  • Penyebab: Kesalahan ini sering terjadi ketika Nginx bertindak sebagai proxy dan gagal menerima respons yang valid dari server upstream.
  • Solusi: Untuk mengatasinya, periksa konfigurasi server upstream, verifikasi konektivitas jaringan, dan pastikan server beroperasi.

Baca: Bagaimana Cara Memperbaiki 502 Bad Gateway NGINX Error? (7 Metode)


2. 404 Tidak Ditemukan Kesalahan:

Ketika Anda mengunjungi situs web yang dikonfigurasi Nginx, situs tersebut berhasil terhubung ke server situs web tetapi tidak dapat menemukan sumber daya yang diminta seperti nama file atau URL apa pun. Dan jenis pesan kesalahan ini umumnya dipicu karena masalah file konfigurasi.

  • Penyebab: Kesalahan ini menunjukkan bahwa sumber daya yang diminta tidak ditemukan di server.
  • Solusi: Untuk mengatasinya, verifikasi keberadaan file atau direktori nginx.conf, tinjau konfigurasi URL, dan periksa masalah sensitivitas huruf.

Baca: Bagaimana Memperbaiki 404 Not Found Error untuk Situs WordPress & Android?


3. 503 Kesalahan Layanan Tidak Tersedia:

  • Penyebab: Kesalahan ini terjadi saat server untuk sementara tidak dapat menangani permintaan.
  • Solusi: Untuk mengatasi masalah ini, periksa beban server, mulai ulang Nginx, analisis kesehatan server backend, atau terapkan mekanisme caching yang tepat.

Baca: Bagaimana Cara Memperbaiki “HTTP Error 503 Service Unavailable”?


4. 504 Gateway Timeout Error (lanjutan):

  • Penyebab: Error ini biasanya terjadi saat server upstream gagal merespons dalam batas waktu yang ditentukan.
  • Solusi: Untuk mengatasinya, periksa konfigurasi server upstream, pastikan konektivitas jaringan yang tepat, dan sesuaikan pengaturan batas waktu di Nginx untuk memungkinkan waktu respons yang lebih lama jika diperlukan.

Baca baca: Bagaimana Cara Memperbaiki Kesalahan Waktu Habis HTTP 504 Gateway?


5. Masalah Pengalihan 301 dan 302:

  • Penyebab: Kesalahan ini terjadi saat ada masalah dengan pengalihan URL, seperti konfigurasi yang salah atau pengulangan dalam proses pengalihan.
  • Solusi:
  • Verifikasi konfigurasi Nginx: Periksa file konfigurasi Nginx untuk memastikan bahwa aturan pengalihan didefinisikan dengan benar. Biasanya, file konfigurasi terletak di /etc/nginx/nginx.conf atau di file terpisah di dalam direktori /etc/nginx/conf.d/ .
  • Periksa konfigurasi blok server: Di dalam file konfigurasi, temukan blok server yang sesuai dengan domain atau host virtual yang terpengaruh. Pastikan bahwa server_name yang sesuai arahan diatur ke nama domain yang benar.
  • Tinjau aturan pengalihan: Periksa blok location atau blok server yang menentukan aturan pengalihan. Pastikan bahwa arahan rewrite atau return dikonfigurasikan dengan benar untuk mengalihkan permintaan ke lokasi yang diinginkan. Perhatikan ekspresi reguler dan URL tujuan.
  • Restart Nginx : Setelah melakukan perubahan pada file konfigurasi, Anda perlu me-restart layanan Nginx untuk menerapkan perubahan. Gunakan perintah berikut untuk memulai ulang Nginx:

sudo service nginx restart

  • Bersihkan cache browser : Terkadang, browser menyimpan respons pengalihan cache. Bersihkan cache browser Anda atau coba akses situs web di jendela pribadi atau penyamaran untuk memastikan bahwa cache tidak mengganggu pengalihan.
  • Menguji pengalihan : Buka browser web dan coba akses URL yang seharusnya memicu pengalihan. Verifikasi bahwa pengalihan berfungsi seperti yang diharapkan dan tujuan yang diinginkan tercapai.
  • Periksa log untuk kesalahan: Jika pengalihan masih tidak berfungsi, tinjau log kesalahan Nginx ( /var/log/nginx/error.log ) untuk setiap pesan kesalahan yang relevan. Log dapat memberikan informasi berharga untuk mengidentifikasi penyebab masalah.

Dengan mengikuti langkah-langkah ini, Anda seharusnya dapat mendiagnosis dan memperbaiki masalah umum pengalihan di Nginx.


Apa yang menyebabkan kesalahan NGINX?

Error nginx bisa disebabkan oleh berbagai faktor, antara lain:

  • Sintaks: Sintaks yang salah dalam file konfigurasi Nginx dapat menyebabkan kesalahan.
  • Masalah sisi server: Masalah pada server tempat Nginx berjalan, seperti beban tinggi atau sumber daya tidak mencukupi, dapat menyebabkan kesalahan.
  • Masalah jaringan: Masalah dengan konektivitas jaringan, resolusi DNS, atau pengaturan firewall dapat memicu kesalahan Nginx.
  • Permintaan klien: Permintaan klien yang tidak valid atau salah bentuk dapat menyebabkan Nginx mengembalikan kesalahan.
  • Masalah server upstream: Jika Nginx bertindak sebagai server proxy dan meneruskan permintaan ke server backend, kesalahan dapat terjadi jika server upstream tidak merespons dengan benar.

Penting untuk mengidentifikasi penyebab spesifik dari kesalahan Nginx untuk menerapkan solusi yang tepat dan menyelesaikan masalah secara efektif.


Bagaimana cara memperbaiki kesalahan NGINX?

Sekarang setelah Anda melihat beberapa kesalahan umum NGINX, Anda mungkin memiliki pertanyaan: 'Bagaimana cara memperbaiki kesalahan NGINX?'

Yah, jawabannya tidak sesulit kelihatannya. Ada berbagai metode pemecahan masalah yang tersedia untuk kesalahan NGINX. Namun, penting untuk dicatat bahwa metode pemecahan masalah ini hanya untuk tahap awal. Investigasi lebih lanjut diperlukan untuk menentukan penyebab pasti dari masalah ini.

Pada dasarnya ada tiga perintah yang dapat membantu Anda memulai perjalanan pemecahan masalah untuk kesalahan NGINX.

  • Dapatkan log Kesalahan dan detail masalah menggunakan perintah ini: sudo cat /var/log/nginx/error.log
  • Untuk memeriksa status aktif Nginx: sudo systemctl status nginx
  • Untuk memeriksa kesalahan sintaks pada file konfigurasi: sudo nginx -t

1. Memecahkan masalah kesalahan Nginx dengan log kesalahan

Saat Anda mengalami masalah dengan NGINX, sebagian besar kesalahan NGINX ini tidak jelas, dan tidak mudah untuk mengetahui masalah yang sebenarnya. Kesalahan dapat dipicu karena masalah yang lebih besar atau mungkin sama sekali tidak terkait.

Ini semua tergantung pada bagaimana Anda mengonfigurasi pengaturan NGINX Anda dan situasi khusus yang Anda hadapi.

Untuk lebih memahami kesalahan NGINX yang terjadi, Anda dapat menjalankan perintah untuk melihat daftar kesalahan ini. Inilah perintahnya:

sudo cat /var/log/nginx/error.log

Untuk menjalankan perintah ini, Anda harus menjadi pengguna yang memiliki hak istimewa. Disarankan untuk memiliki akses sudo daripada menggunakan pengguna root.

Perintah ini memungkinkan Anda untuk membaca seluruh isi file /var/log/nginx/error.log, yang berisi log error NGINX. Ini akan menampilkan log ini di jendela terminal Anda.

Dengan menjalankan perintah ini, Anda akan dapat melihat daftar error NGINX yang telah dicatat. Ingat satu hal jika tidak ada kesalahan yang tercatat di log, Anda tidak akan melihat output apa pun saat menjalankan perintah.

Berikut adalah contoh log kesalahan untuk referensi Anda,

2023/05/31 10:15:23 [error] 1234#0: *1 open() "/var/www/html/missing-page.html"
failed (2: No such file or directory), client: 192.168.0.1, server: example.com,
request: "GET /nonexistent-page HTTP/1.1", host: "example.com"

2023/05/31 12:45:57 [error] 1234#0: *2 upstream timed out (110: Connection timed out)
while reading response header from upstream, client: 192.168.0.2, server:
example.com, request: "GET /api/data HTTP/1.1", upstream:
"http://127.0.0.1:8000/api/data", host: "example.com"

2023/05/31 15:22:10 [error] 1234#0: *3 rewrite or internal redirection cycle while internally redirecting to "/index.php", client: 192.168.0.3, server: example.com, request: "GET /category/products/ HTTP/1.1", host: "example.com"

Dalam contoh ini, setiap baris mewakili kesalahan terpisah yang dicatat oleh NGINX. Mari kita uraikan informasi yang diberikan:

  • Stempel waktu: Bagian pertama dari setiap baris menunjukkan tanggal dan waktu saat kesalahan terjadi, diformat sebagai YYYY/MM/DD HH:MM:SS .
  • Tingkat Kesalahan: Tag [error] menunjukkan bahwa baris ini menunjukkan kesalahan.
  • ID proses: Angka setelah simbol # (mis., 1234#0 ) mewakili ID proses NGINX yang menangani permintaan.
  • Pesan Kesalahan: Pesan kesalahan memberikan detail tentang kesalahan tertentu. Ini mencakup informasi seperti kegagalan akses file atau sumber daya, waktu tunggu koneksi upstream, atau masalah pengalihan internal.
  • IP Klien: Kolom client menampilkan alamat IP klien yang membuat permintaan ke server.
  • Nama Server: Kolom server menunjukkan nama server atau host virtual tempat kesalahan terjadi.
  • Detail Permintaan: Bidang request menunjukkan metode HTTP, URL yang diminta, dan versi protokol yang digunakan oleh klien.
  • Host: Kolom host menentukan nama host atau alamat IP yang digunakan dalam permintaan.

Setiap entri log kesalahan membantu mendiagnosis dan memecahkan masalah dengan memberikan informasi tentang jenis kesalahan, sumber daya yang terpengaruh, IP klien, dan detail relevan lainnya.

2. Troubleshooting NGINX dengan Memeriksa statusnya

Cara lain yang bisa Anda coba untuk mengatasi masalah NGINX adalah dengan memeriksa statusnya, yaitu aktif atau tidak. Ada kemungkinan karena alasan tertentu, proses penginstalan tidak dapat diselesaikan atau layanan belum aktif.

Untuk memeriksa status layanan NGINX gunakan perintah berikut:

sudo systemctl status nginx

Jika layanan NGINX aktif, hasilnya akan seperti;

nginx.service - The NGINX HTTP and reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset:
enabled)
Active: active (running) since Mon 2023-05-31 14:30:00 UTC; 5min ago
Docs: http://nginx.org/en/docs/
Process: 1234 ExecStart=/usr/sbin/nginx -g daemon on;
master_process on;
(code=exited, status=0/SUCCESS)
Main PID: 1234 (nginx)
Tasks: 2 (limit: 2319)
Memory: 3.9M
CGroup: /system.slice/nginx.service
├─1234 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─5678 nginx: worker process

dan jika status NGINX tidak aktif, output dari perintah sudo systemctl status nginx akan menunjukkan bahwa layanan tidak aktif atau berhenti sebagai berikut.

nginx.service - The NGINX HTTP and reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: inactive (dead)
Docs: http://nginx.org/en/docs/

Jika demikian, satu-satunya hal yang perlu Anda lakukan adalah me-restart layanan NGINX Anda dengan menggunakan perintah ini:

sudo systemctl restart nginx

Setelah itu, Anda dapat menggunakan perintah status lagi untuk memeriksa apakah layanan NGINX sudah aktif atau tidak.

3. Memecahkan masalah NGINX dengan Memeriksa kesalahan sintaks

Kesalahan sintaks adalah masalah umum yang dapat muncul saat menulis skrip, kode, atau mengonfigurasi file Nginx.

Apakah Anda telah menggunakan struktur sintaks yang salah atau menghilangkan karakter tertentu, sintaks yang salah akan mencegah kode atau konfigurasi berfungsi dengan benar.

Dalam kasus file konfigurasi Nginx, mereka terdiri dari berbagai arahan, yang masing-masing perlu dideklarasikan secara akurat agar berfungsi dengan benar. Jika tidak, itu tidak akan berfungsi sebagaimana dimaksud.

Untuk memeriksa kesalahan sintaks di file konfigurasi Nginx Anda, gunakan perintah berikut.

sudo nginx -t

Jika sintaksnya ternyata benar, hasilnya adalah,

nginx: configuration file /etc/nginx/nginx.conf test is successful

Namun, jika ada masalah dalam sintaks, hasilnya akan ditampilkan sebagai,

nginx: [emerg] unexpected end of file, expecting ";" or "}" in
/etc/nginx/nginx.conf:42
nginx: configuration file /etc/nginx/nginx.conf test failed

Dengan melakukan pemeriksaan ini, Anda dapat mengidentifikasi dan memperbaiki kesalahan sintaks apa pun, menjamin bahwa konfigurasi Nginx Anda akurat dan lengkap. Merupakan praktik yang baik untuk menjalankan perintah ini setiap kali Anda membuat perubahan pada file konfigurasi atau sebelum memulai ulang Nginx untuk menghindari masalah apa pun yang disebabkan oleh kesalahan sintaks.


Catatan: Kami sangat menyarankan untuk menjalankan perintah sintaks ini untuk memeriksa kesalahan apa pun dalam file konfigurasi Nginx Anda dan memastikan tidak ada yang hilang.


Bagaimana Mencegah Kesalahan Nginx di Masa Depan?

Anda juga dapat mengambil tindakan pencegahan untuk menghindari kesalahan nginx di masa mendatang. Yang perlu Anda lakukan adalah mengikuti tips yang disebutkan di bawah ini:

1. Pembaruan Perangkat Lunak Reguler: Selalu perbarui server Nginx Anda dengan menginstal pembaruan perangkat lunak terbaru. Pembaruan sering kali menyertakan perbaikan bug, tambalan keamanan, dan peningkatan kinerja yang dapat mencegah atau mengatasi masalah umum.

2. Pemantauan dan Peringatan: Terapkan sistem pemantauan untuk mengawasi kesehatan dan kinerja server Nginx Anda. Siapkan lansiran untuk memberi tahu Anda tentang aktivitas, kesalahan, atau potensi masalah yang tidak biasa, memungkinkan Anda mengambil tindakan proaktif sebelum berdampak pada situs web Anda.

3. Optimalisasi Kinerja: Optimalkan konfigurasi Nginx Anda untuk meningkatkan kinerja dan mengurangi kemungkinan kesalahan. Sempurnakan pengaturan yang terkait dengan caching, ukuran buffer, dan batas koneksi untuk memastikan penanganan permintaan yang efisien dan meminimalkan risiko kesalahan.


Ringkasan

Singkatnya, kesalahan Nginx dapat terjadi saat menggunakan server web Nginx, menyebabkan gangguan pada situs web atau aplikasi web Anda. Kesalahan ini datang dalam berbagai bentuk, termasuk 502 Bad Gateway Error, 404 Not Found Error, 503 Service Unavailable Error, 504 Gateway Timeout Error, dan redirect error (301 dan 302).

Untuk memecahkan masalah kesalahan Nginx secara efektif, penting untuk memahami penyebabnya dan mengambil tindakan yang tepat. Pemicu umum error Nginx meliputi kesalahan file konfigurasi, masalah sisi server, masalah jaringan, atau permintaan klien. Solusi praktis melibatkan diagnosis akar penyebab dengan memeriksa log kesalahan, mencari kesalahan sintaksis, atau memantau status aktif Nginx.

Ingat, meskipun metode pemecahan masalah ini dapat membantu pada awalnya, penyelidikan lebih lanjut mungkin diperlukan untuk menentukan penyebab sebenarnya dari masalah tersebut.

Dengan mengikuti metode pemecahan masalah ini dan menerapkan solusi yang sesuai, Anda dapat mendiagnosis dan memperbaiki kesalahan umum Nginx secara efektif, memastikan pengalaman yang lancar bagi pengunjung situs web Anda.

Pertanyaan yang Sering Diajukan

Bagaimana cara memperbaiki kesalahan NGINX?

Hal pertama yang perlu Anda lakukan adalah menjalankan perintah berikut untuk mendapatkan log kesalahan, status NGinx, dan Periksa kesalahan sintaks.
1. Dapatkan log Kesalahan dan detail masalah menggunakan perintah ini: sudo cat /var/log/nginx/error.log
2. Untuk memeriksa status aktif Nginx: sudo systemctl status nginx
3. Untuk memeriksa kesalahan sintaks pada file konfigurasi: sudo nginx -t

Apa kesalahan NGINX?

Kesalahan Nginx mengacu pada cegukan atau kesalahan yang terjadi saat menggunakan server web Nginx. Nginx adalah server web yang banyak digunakan, yang diandalkan sebagian besar situs web. Namun, seperti perangkat lunak apa pun, ia dapat mengalami kesalahan yang dapat mengganggu kelancaran fungsi situs web Anda.

Apa yang menyebabkan kesalahan NGINX?

Alasan yang menyebabkan kesalahan NGINX adalah,
1. Kesalahan Sintaks
2. Masalah Sisi Server
3. Masalah jaringan
4. Permintaan klien
5. Masalah Server Uptime