تثبيت إصدار Nginx

ليس خطأ تمامًا ولكنه ليس واضحًا ما هي الفئة الأخرى التي يجب أن يندرج تحتها. إنه يمثل مشكلة وليس #ميزة. ربما #دعم ولكني متأكد تمامًا مما أفعله هنا.

انظر أيضًا: منشور مشابه من 3 سنوات Dockerfile in official install instructions uses unsupported version of Nginx

وجد اختبار اختراق روتيني هذا الأسبوع أن إصدار NGINX المستخدم كان قد وصل إلى نهاية دورة حياته (EOL). لم يكن من الممكن استغلاله، ولكن تم تمييزه على أنه يحتاج إلى إصلاح في أسرع وقت ممكن.

محاولة تحديث Discourse عبر git pull لم تحل المشكلة بعد، لأنه على الرغم من تحديث مستودع Discourse Docker، فإن القوالب تثبت الصورة الأساسية كالإصدار السابق (discourse/base:2.0.20260109-0020)

بعض الأسئلة:

  • لماذا كان إصدار NGINX المثبت قديمًا لدرجة أنه وصل إلى نهاية دورة حياته في المقام الأول؟ هل هناك منطق لا أعرفه؟

  • لماذا تم اختيار الإصدار الجديد ليكون 1.28.1، وليس 1.29.4 (الأحدث اعتبارًا من 2026.01.27) - مرة أخرى، هل هناك منطق؟

بشكل عام، يبدو أن Discourse حريص جدًا على إبقاء جميع المستخدمين على إصدار حديث (يبدو منطقيًا)، أي ما كان tests-passed.

كيف يمكنني تحديث NGINX (من الناحية المثالية دون حلول بديلة محلية)؟

إعجاب واحد (1)

لا يوجد سبب محدد، لقد مر وقت على عدم قيامنا بعملية التحديث. أنت على حق في أنه كان ينبغي علينا اكتشاف ذلك قبل أن تصل إلى نهاية الدعم.

1.28.1 هو أحدث إصدار “مستقر”، لذلك اخترنا هذا. 1.29.x هو الإصدار “الرئيسي” ذو التغيير الأعلى، وليس لدينا حاليًا حاجة لأي من تلك الميزات الجديدة.

شكرًا لإثارة هذه النقطة. لقد أكملنا الآن تحديث العلامة في القوالب، لذا فإن تشغيل ./launcher rebuild app مرة أخرى يجب أن يمنحك إصدار nginx الجديد.

6 إعجابات

لا مشكلة وشكراً على الرد السريع @david!

للأسف، لا يبدو أن هذا يعمل بعد. أدى تشغيل git pull، ثم ./launcher rebuild app إلى سحب صورة جديدة (discourse/base:2.0.20260116-2039) ولكن يبدو أن الصورة لا تزال تتضمن nginx 1.26.3:

root@server:/var/discourse# docker exec -it app nginx -v
nginx version: nginx/1.26.3

أنا أتحقق من جهتي تحسباً لكونها مشكلة تخزين مؤقت غريبة للحاوية، ولكن على حد علمي، فإن صورة الأساس 20260116-2039 تحتوي ببساطة على NGINX 1.26.3 حتى الآن.

إعجاب واحد (1)

مثير للاهتمام، أرى الشيء نفسه. بينما قمنا بتحديث NGINX في الإعدادات، يبدو أن تحديث الصورة كان يهدف تحديدًا إلى تحديث Redis، وليس NGINX.

سأتحقق مع الفريق وأرى ما إذا كان بالإمكان تثبيت إصدار صورة أحدث.

4 إعجابات

أي تحديث بخصوص مشكلة تثبيت إصدار NGINX؟ لقد رأيت إصدار 2026.1.0-latest ولكن على حد علمي، هذا لا يرفع مستوى الصورة الأساسية.

لقد قمنا بتحديث الصورة مرة أخرى: Bump base image to `20260129-0023` (#1035) · discourse/discourse_docker@068819b · GitHub

لذا يجب أن يمنحك إعادة البناء التالية NGINX 1.28.1

3 إعجابات

شكرًا لك @david، هذا يعمل الآن.

إعجاب واحد (1)