مساعدة في تكوين Discourse على خادم NGINX متعدد المواقع

لدي خادم على DigitalOcean يستضيف موقعين قائمين، باستخدام حزمة nginx-php-mariadb. هذا الخادم، المجهز بنواتين و 4 جيجابايت من ذاكرة الوصول العشوائي، غير مستغل إلى حد كبير. لذلك، أخطط لاستضافة موقع Discourse على هذا الخادم أيضًا.

أتفهم أنه نظرًا لأن لدي بالفعل موقعين يعملان على حزمة nginx، يجب أن أتبع الرابطين أدناه لإعداد موقع Discourse:

  1. للتثبيت القياسي باستخدام Docker: link
  2. للإعداد: link

بعد الاطلاع على الروابط أعلاه، أعتقد أن لدي فهمًا للخطوات اللازمة. ومع ذلك، هناك بعض الجوانب التي لست متأكدًا منها، وأبحث عن توجيه قبل المتابعة في التثبيت. يرجى التحلي بالصبر معي لأي استفسارات أساسية حيث أنني جديد على Discourse. لقد بحثت في مواضيع مختلفة خلال اليومين الماضيين، واكتسبت بعض الفهم، على الرغم من أن بعض المجالات لا تزال تربكني.

إليك استفساراتي. سأكون ممتنًا جدًا لمساعدتك أو أي إرشادات لمساعدتي في البدء:

  1. هل الرابطان أعلاه كافيان لإعداد موقع Discourse افتراضي، أم أن هناك معلومات إضافية يجب أن أكون على علم بها؟

  2. يحتوي خادمي على 25 جيجابايت فقط من المساحة، مع 15 جيجابايت فقط متاحة. قمت ببعض الحسابات ويبدو أن 15 جيجابايت قد لا تكون كافية لتخزين الصور التي يقوم المستخدمون بتحميلها على المدى الطويل. أفضل عدم تجاوز 50٪ من استخدام القرص لتجنب المخاطرة بتوقف المواقع الأخرى عن العمل بسبب مشاكل متعلقة بالمساحة. لذلك، أفكر في نقل جميع الأصول التي تستهلك مساحة كبيرة، مثل الصور، إلى حل تخزين مخصص. أنا على علم بأن DigitalOcean تقدم Spaces لهذا الغرض، ولكني غير متأكد من كيفية تكوين هذا في Discourse لضمان تخزين جميع الأصول هناك. سأكون ممتنًا لأي توصيات لموارد محدثة لإرشادي خلال هذا الإعداد.

  3. تم تأمين موقعي الحالي خلف CloudFlare (المستوى المجاني) ويستخدم شهادات Let’s Encrypt لـ SSL. تتعامل CloudFlare مع العمليات القياسية مثل تحليل DNS والتخزين المؤقت والأمان. أعتزم الحفاظ على هذا الإعداد لموقع Discourse أيضًا. هل هناك أي إعدادات صريحة مطلوبة لـ Discourse في هذا الإعداد؟ حاليًا، يحتوي خادمي على جدار حماية ufw ممكّن، ويتم فقط إدراج عناوين IP الخاصة بـ CloudFlare في القائمة البيضاء. أفترض أن هذا الإعداد يجب أن يكون كافيًا.

  4. إذا اتبعت رابط الإعداد المقدم أعلاه، فهل ستظل هذه التغييرات في الإعداد، أو أي تغييرات مستقبلية أقوم بها، قائمة إذا قمت بإعادة بناء/ترقية مثيل Discourse؟

  5. تتم استضافة موقعي الآخرين على WordPress ويستخدمان إضافة ذاكرة تخزين مؤقت تسمى WPRocket للتخزين المؤقت من جانب الخادم. هل هناك توصية ذاكرة تخزين مؤقت مماثلة لـ Discourse، أم أن إعدادات ذاكرة التخزين المؤقت القياسية لـ CloudFlare كافية؟

  6. لقد قمت بتمكين النسخ الاحتياطي لقطرة DigitalOcean الخاصة بي. قرأت أيضًا أنه من المستحسن عمل نسخة احتياطية من مثيل Discourse بشكل منفصل. إذا كان الأمر كذلك، فكيف يمكنني تمكين ذلك، وهل من الممكن تخزين هذه النسخ الاحتياطية على تخزين خارجي مثل DigitalOcean Spaces؟

لا أعتقد أنك ستتمكن من القيام بذلك بمساحة القرص الصغيرة هذه. انظر إعداد Discourse على خادم به مواقع Apache موجودة. يوجد موضوع مشابه حول nginx ولكني لا أستطيع العثور عليه في مربع البحث عن الروابط.

أوصي بتثبيته أولاً على جهاز افتراضي آخر لمعرفة كيفية عمل الأشياء قبل محاولة التثبيت المتقدم.

من الممكن استخدام بعض التخزين المؤقت لـ Cloudflare، ولكنه يمكن أن يؤدي إلى تعطل ميزات تسريع Discourse. هناك الكثير من المواضيع حول المشاكل التي تسببها Cloudflare.