CH-J Server Manageradministrasi server melalui SSH
Menu
Semua panduan dan artikel →

Mengelola NGINX tanpa membuat situs web terhenti

Cadangkan konfigurasi, uji dengan nginx -t, terapkan dengan pemuatan ulang secara bertahap, dan kembalikan konfigurasi sebelumnya jika terjadi kegagalan.

Muat ulang alih-alih memulai ulang

Pemuatan ulang meminta NGINX membaca kembali konfigurasi. NGINX memulai proses pekerja baru dan membiarkan proses lama menyelesaikan permintaan yang masih terbuka, sehingga pengunjung biasanya tidak merasakan perubahan. Jika konfigurasi baru tidak dapat diterapkan, NGINX tetap berjalan dengan konfigurasi lama. Memulai ulang menghentikan layanan terlebih dahulu sehingga memutus koneksi, dan layanan mungkin gagal berjalan kembali jika konfigurasinya salah.

Cadangkan berkas yang Anda ubah

Buat salinan di samping berkas sebelum menyuntingnya, dengan tanggal pada namanya. Jangan menyimpan salinan di direktori yang dimuat NGINX menggunakan karakter pengganti seperti conf.d/*.conf atau sites-enabled/*, karena salinan tersebut juga akan dimuat. Pada Debian dan Ubuntu, sunting berkas di sites-available; entri di sites-enabled biasanya hanya tautan ke berkas tersebut.

sudo cp -a /etc/nginx/sites-available/example.conf /root/example.conf.$(date +%Y%m%d-%H%M%S)

Uji, lalu muat ulang

nginx -t memeriksa sintaks dan berkas yang dirujuk konfigurasi, misalnya sertifikat. Gunakan nginx -T untuk melihat konfigurasi lengkap setelah seluruh berkas yang disertakan dimuat. Muat ulang hanya jika pengujian berhasil; menggabungkan perintah dengan && memastikan hal itu. Pengujian tidak dapat memastikan bahwa konfigurasi bekerja sesuai maksud Anda, jadi buka situs web setelahnya.

sudo nginx -t && sudo systemctl reload nginx
sudo nginx -T | less
curl -I https://example.com/

Jika terjadi masalah

Pulihkan salinan cadangan, uji kembali, lalu muat ulang. Jika layanan berhenti, log kesalahan dan jurnal menjelaskan penyebabnya. Cari pesan tentang port yang sudah digunakan, sertifikat yang hilang, atau nama server yang duplikat.

sudo cp -a /root/example.conf.20261031-120000 /etc/nginx/sites-available/example.conf
sudo nginx -t && sudo systemctl reload nginx
sudo journalctl -u nginx -n 50 --no-pager
sudo tail -n 50 /var/log/nginx/error.log

Hal yang tidak ditangani oleh pemuatan ulang

Koneksi berumur panjang seperti WebSockets tetap ditangani proses pekerja lama hingga koneksi berakhir, sehingga proses lama dapat berjalan cukup lama dan memakai memori tambahan. Peningkatan paket dapat memulai ulang layanan dengan sendirinya. Uji perubahan besar di server uji terlebih dahulu, termasuk sertifikat dan pengalihan.

NGINX Manager di CH-J Server Manager

NGINX Manager menyunting berkas konfigurasi di direktori NGINX yang dikelola pada server Linux, hingga 512 KiB per berkas. Saat menyimpan, aplikasi membuat cadangan dengan akhiran .chj-backup-, menjalankan nginx -t, dan mempertahankan perubahan hanya jika pengujian berhasil. Pemuatan ulang memerlukan konfirmasi eksplisit Anda dan menjalankan pengujian lagi sebelum dimulai. Tautan simbolis yang diaktifkan tidak diganti; sunting berkas yang sesuai di sites-available.

Dokumentasi terperinci

NGINX: Controlling nginx →

NGINX: Beginner's Guide →

Buka kunci biometrik dan keamanan →