أعد التحميل بدلاً من إعادة التشغيل
تطلب إعادة التحميل من NGINX قراءة الإعدادات من جديد. فيبدأ عمليات عاملة جديدة ويترك العمليات القديمة تنهي الطلبات المفتوحة لديها، لذلك لا يلاحظ الزوار شيئاً في العادة. وإذا تعذّر تطبيق الإعدادات الجديدة، يواصل NGINX العمل بالإعدادات القديمة. أما إعادة التشغيل فتوقف الخدمة أولاً، مما يقطع الاتصالات، وقد تفشل الخدمة في البدء مجدداً إذا كانت الإعدادات خاطئة.
انسخ الملف الذي ستعدّله احتياطياً
أنشئ نسخة بجوار الملف قبل تحريره، وضع التاريخ في اسمها. لا تترك النسخ داخل دليل يحمّله NGINX باستخدام محرف بدل مثل conf.d/*.conf أو sites-enabled/*، لأنه سيحمّلها أيضاً. في Debian وUbuntu، حرّر الملف الموجود في sites-available؛ فعادةً ما يكون الإدخال في sites-enabled مجرد رابط إليه.
sudo cp -a /etc/nginx/sites-available/example.conf /root/example.conf.$(date +%Y%m%d-%H%M%S)اختبر ثم أعد التحميل
يفحص nginx -t صياغة الإعدادات والملفات التي تشير إليها، مثل الشهادات. استخدم nginx -T لعرض الإعدادات كاملة بعد تضمين الملفات المشار إليها. لا تُعد التحميل إلا بعد نجاح الاختبار؛ وربط الأوامر باستخدام && يضمن ذلك. لا يستطيع الاختبار تحديد ما إذا كانت الإعدادات تنفّذ ما قصدته، لذا افتح الموقع بعد ذلك.
sudo nginx -t && sudo systemctl reload nginx
sudo nginx -T | less
curl -I https://example.com/عند حدوث مشكلة
استعد النسخة الاحتياطية، واختبر مجدداً ثم أعد التحميل. إذا توقفت الخدمة، يوضح سجل الأخطاء وسجل النظام سبب ذلك. ابحث عن رسائل تشير إلى منفذ مستخدم بالفعل، أو شهادة مفقودة، أو اسم خادم مكرر.
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ما لا تعالجه إعادة التحميل
تبقى الاتصالات طويلة الأمد مثل WebSockets لدى العمليات العاملة القديمة حتى تنتهي، لذا قد تستمر تلك العمليات في العمل لبعض الوقت وتستهلك ذاكرة إضافية. وقد تؤدي ترقية حزمة إلى إعادة تشغيل الخدمة تلقائياً. اختبر التغييرات الكبيرة على خادم اختبار أولاً، بما في ذلك الشهادات وعمليات إعادة التوجيه.
NGINX Manager في CH-J Server Manager
يحرّر NGINX Manager ملفات الإعدادات في أدلة NGINX المُدارة على خوادم Linux، بحد أقصى 512 KiB لكل ملف. عند الحفظ، ينشئ التطبيق نسخة احتياطية باللاحقة .chj-backup-، ويشغّل nginx -t، ولا يحتفظ بالتغيير إلا بعد نجاح الاختبار. تتطلب إعادة التحميل تأكيداً صريحاً منك، ويُجرى الاختبار مرة أخرى قبل بدئها. لا يُستبدل الرابط الرمزي المفعّل؛ حرّر الملف المقابل في sites-available.