Muat semula dan bukannya mulakan semula
Pemuatan semula mengarahkan NGINX membaca konfigurasi sekali lagi. Ia memulakan proses pekerja baharu dan membiarkan proses lama menyelesaikan permintaan yang masih terbuka, jadi pelawat biasanya tidak menyedari apa-apa. Jika konfigurasi baharu tidak dapat digunakan, NGINX terus berjalan dengan konfigurasi lama. Memulakan semula menghentikan perkhidmatan terlebih dahulu, lalu memutuskan sambungan, dan perkhidmatan mungkin gagal bermula semula jika konfigurasi salah.
Sandarkan fail yang anda ubah
Buat salinan di sebelah fail sebelum menyunting, dengan tarikh dalam namanya. Jangan tinggalkan salinan dalam direktori yang dimuatkan oleh NGINX menggunakan kad bebas seperti conf.d/*.conf atau sites-enabled/*, kerana salinan itu juga akan dimuatkan. Pada Debian dan Ubuntu, sunting fail dalam sites-available; entri dalam sites-enabled biasanya hanya pautan kepadanya.
sudo cp -a /etc/nginx/sites-available/example.conf /root/example.conf.$(date +%Y%m%d-%H%M%S)Uji, kemudian muat semula
nginx -t menyemak sintaks dan fail yang dirujuk oleh konfigurasi, seperti sijil. Gunakan nginx -T untuk melihat konfigurasi lengkap selepas fail yang disertakan dimuatkan. Muat semula hanya apabila ujian lulus; menggabungkan arahan dengan && memastikan perkara itu. Ujian tidak dapat menentukan sama ada konfigurasi berfungsi seperti yang anda maksudkan, jadi buka laman web selepas itu.
sudo nginx -t && sudo systemctl reload nginx
sudo nginx -T | less
curl -I https://example.com/Apabila berlaku masalah
Pulihkan salinan sandaran, uji sekali lagi dan muat semula. Jika perkhidmatan terhenti, log ralat dan jurnal memberitahu sebabnya. Cari mesej tentang port yang sudah digunakan, sijil yang tiada atau nama pelayan yang bertindih.
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.logPerkara yang tidak diliputi pemuatan semula
Sambungan berpanjangan seperti WebSockets kekal pada pekerja lama sehingga sambungan tamat, jadi pekerja lama boleh berjalan untuk beberapa waktu dan menggunakan memori tambahan. Naik taraf pakej mungkin memulakan semula perkhidmatan dengan sendirinya. Uji perubahan besar pada pelayan ujian terlebih dahulu, termasuk sijil dan pengalihan.
NGINX Manager dalam CH-J Server Manager
NGINX Manager menyunting fail konfigurasi dalam direktori NGINX yang diurus pada pelayan Linux, sehingga 512 KiB bagi setiap fail. Semasa menyimpan, aplikasi membuat sandaran dengan akhiran .chj-backup-, menjalankan nginx -t dan mengekalkan perubahan hanya selepas ujian berjaya. Pemuatan semula memerlukan pengesahan jelas daripada anda dan menjalankan ujian sekali lagi sebelum bermula. Pautan simbolik yang didayakan tidak digantikan; sunting fail yang sepadan dalam sites-available.