تكوين NGINX لـ DevOps: حيلة Serverion لنشر عمليات خالية من التوقف
عمليات النشر بدون توقف يعني تحديث تطبيقك دون انقطاع الخدمة - وهو أمر ضروري للشركات التي قد يكلفها انقطاع الخدمة البسيط ملايين الدولارات. تتيح NGINX هذا باستخدام نموذج عملية العامل الرئيسي وإشارات ذكية مثل USR2 (بدء عمليات جديدة) و هوب (إعادة تحميل التكوين). إليك المفتاح:
- كيف يعمل:يقوم NGINX بتحويل حركة المرور من العاملين القدامى إلى العاملين المحدثين دون انقطاع الاتصالات.
- الخطوات الرئيسية:استخدم الإشارات (
USR2,هوب، إلخ)، قم بتكوينnginx.confبشكل صحيح، والتحقق من صحة التغييرات قبل إعادة التحميل. - التقنيات:قم بدمج NGINX مع طرق مثل النشر باللون الأزرق والأخضر أو Docker للحصول على تحديثات سلسة.
- فحوصات الصحة:تأكد من أن الخوادم السليمة فقط هي التي تتعامل مع حركة المرور، وذلك باستخدام فحوصات الصحة السلبية أو النشطة الخاصة بـ NGINX.
باستخدام التكوين الصحيح، يمكنك إبقاء خدماتك تعمل بسلاسة أثناء التحديثات، وحماية الإيرادات، والحفاظ على ثقة العملاء.
أساسيات NGINX للنشر بدون توقف

شرح النشر بدون توقف
يستخدم NGINX نموذج "العامل الرئيسي" لمعالجة التحديثات دون انقطاع الخدمة. تشرف العملية الرئيسية على التكوين والتحكم، بينما تدير عمليات العامل اتصالات العميل. يسمح هذا الإعداد بنقل البيانات بسلاسة من العاملين القدامى إلى الجدد أثناء التحديثات، مما يضمن استمرار الخدمة دون انقطاع.
إدارة اتصالات NGINX
تعتمد NGINX على إشارات محددة للتحكم في العمليات أثناء الترقيات أو تغييرات التكوين:
- USR2:بدء عمليات رئيسية وعاملة جديدة.
- ونش:إيقاف عمليات العامل القديمة بسلاسة.
- هوب:إعادة تحميل التكوين واستبدال العمال.
- يترك:يغلق المعلم والعمال بكل لطف.
عند إعادة التحميل، يقوم NGINX بنقل معرف العملية الرئيسية القديم إلى /تشغيل/nginx.pid.oldbin، يكتب معرف العملية الرئيسية الجديد إلى /تشغيل/nginx.pid، ويسمح للعاملين القدامى بإكمال الطلبات النشطة قبل الإغلاق.
نشر التطبيقات الحديثة: كيفية استخدام NGINX وJFrog لـ ...

إعداد NGINX للتشغيل المستمر
للحفاظ على الاتصالات نشطة أثناء عمليات إعادة التحميل، استفد من بنية العامل الرئيسي في NGINX باستخدام الإعدادات التالية.
خطوات تكوين NGINX الرئيسية
تشغيل قبول متعدد للسماح للعاملين بإدارة اتصالات متعددة لكل حدث. إليك مثال على تكوين nginx.conf:
عمليات العامل تلقائية؛ معرف العملية /run/nginx.pid؛ الأحداث {اتصالات العامل 1024؛ قبول متعدد قيد التشغيل؛ } http {الواجهة الخلفية الصاعدة {الخادم backend1.example.com:8080؛ الخادم backend2.example.com:8080؛ الحفاظ على الاتصال 32؛ } الخادم {الاستماع 80؛ اسم الخادم example.com؛ الموقع / {كلمة مرور الوكيل http://backend؛ إصدار الوكيل http 1.1؛ رأس مجموعة الوكيل الاتصال ""؛ رأس مجموعة الوكيل المضيف $host؛ رأس مجموعة الوكيل X-Real-IP $remote_addr؛ } } } إعادة تحميل التكوين دون توقف
- أعد تحميل العاملين الحاليين لتطبيق التغييرات:
إعادة تحميل nginx -s - تحقق من معرف العملية الرئيسية المحدث:
cat /run/nginx.pid - تنفيذ ترقية ثنائية دون إيقاف حركة المرور:
اقتل -USR2 $(cat /run/nginx.pid) اقتل -WINCH $(cat /run/nginx.pid.oldbin)
وتسمح هذه الخطوات بانتقال حركة المرور بسلاسة بين العمال القدامى والجدد، مما يضمن خدمة مستمرة دون انقطاع.
إس بي بي-آي تي بي-59إي1987
طرق النشر مع NGINX
يمكنك استخدام NGINX لتحقيق عمليات نشر خالية من التوقف عن العمل من خلال الاستفادة من تقنيات مثل الإعدادات الزرقاء والخضراء أو الأساليب القائمة على الحاويات.
إعداد النشر باللون الأزرق والأخضر
مع NGINX، يمكنك إدارة حركة المرور بين بيئتين - يشار إليها عادةً باسم أزرق و أخضرالبيئات متطابقة، ولكن واحدة فقط نشطة في كل مرة. إليك كيفية عملها:
- قم بنشر الإصدار المحدث في البيئة غير النشطة (على سبيل المثال، الأخضر).
- قم بإجراء فحوصات الصحة للتأكد من أن الإصدار الجديد يعمل بشكل صحيح.
- بمجرد التحقق، قم بتحديث تكوين NGINX لتوجيه حركة المرور إلى البيئة المحدثة.
- أعد تحميل التكوين باستخدام
هوبإشارة لتجنب انقطاع أي اتصالات نشطة.
تضمن هذه الطريقة انتقالًا سلسًا دون انقطاع الخدمة.
تكامل Docker وNGINX
يُسهّل استخدام Docker مع NGINX عمليات النشر من خلال الحفاظ على بيئات متسقة لكلٍّ من تطبيقك وطبقات الوكيل. إليك كيفية تحقيق تحديثات خالية من أي توقف:
- قم بتشغيل الحاوية الجديدة بجوار الحاوية النشطة الحالية.
- قم بإجراء فحوصات صحية للتأكد من أن الحاوية الجديدة جاهزة.
- قم بتعديل تكوين NGINX الأساسي لتضمين الحاوية الجديدة.
- أعد تحميل التكوين باستخدام
هوبالإشارة، مما يسمح للعمال القدامى بإكمال المعالجة قبل خروجهم.
يضمن هذا النهج استمرار الخدمة دون انقطاع أثناء تحديث تطبيقك.
الاختبار والتحقق
تكوين عمليات التحقق من الصحة
تساعد فحوصات صحة NGINX على ضمان أن الخوادم العاملة فقط هي التي تتعامل مع حركة المرور. تعمل هذه الفحوصات جنبًا إلى جنب مع التكوين الصاعد والتوجيه الأزرق والأخضر. يوفر NGINX نوعين من فحوصات الصحة: سلبي (متوفر في NGINX مفتوح المصدر) و نشيط (حصريًا لـ NGINX Plus).
لإجراء فحوصات صحية سلبية في NGINX Open Source، قم بإعداد الكتلة الأولية الخاصة بك على النحو التالي:
الخلفية الصاعدة { الخادم backend1.serverion.com:8080 max_fails=3 fail_timeout=30s; الخادم backend2.serverion.com:8080 max_fails=3 fail_timeout=30s; المنطقة الخلفية 64 كيلو بايت; } إذا كنت تستخدم NGINX Plus، فيمكنك تمكين عمليات التحقق من الصحة النشطة عن طريق إضافة فحص الصحة التوجيه مع مباراة حاجز:
الموقع / { proxy_pass http://backend; health_check interval=5s fails=3 passed=2 obligatory persistent; match health_check { status 200; header Content-Type = application/json; body ~ '"status":"UP"'; } } تأكد من التحقق من صحة هذه التكوينات قبل إعادة تحميل NGINX.
التحقق من صحة التكوين
اختبر دائمًا إعدادات NGINX قبل إعادة التحميل. استخدم الأمر التالي:
nginx -t -c /path/to/your/nginx.conf أساسيات النشر بدون توقف
يعتمد تحقيق عمليات نشر خالية من أي توقف على تهيئة NGINX الدقيقة وتخطيط البنية التحتية المتين. تعمل هذه العناصر معًا لضمان إجراء التحديثات دون انقطاع.
وفيما يلي العوامل الرئيسية للنجاح:
- التحكم في العملية والتحقق من صحة التكوين:استفيد إلى أقصى حد من بنية NGINX مع الالتزام ببروتوكولات الاختبار الشاملة.
- استقرار البنية التحتية:الحفاظ على الأداء الثابت وإبقاء الأمان مشددًا طوال عملية النشر.
للحصول على تفاصيل حول فحوصات الصحة وخطوات التراجع، راجع الاختبار والتحقق قسم.
Serverionتدعم منصة 'هذه الجهود بالاستقرار والأمان الموثوقين. مراكز البيانات العالمية الحفاظ على ثبات الأداء أثناء التحديثات، وتضمن الحماية المضمنة ضد DDoS بقاء الأمان سليمًا.
ابدأ بخطوات صغيرة باستخدام خيارات تبديل الميزات على الخدمات غير الأساسية. ثم توسّع تدريجيًا، مع التركيز على الاختبارات الدورية والمراقبة الدقيقة وخطط التراجع الواضحة في استراتيجيتك.