تفعيل شبكة توصيل محتوى (CDN) لـ Discourse الخاص بك

إذًا، أنت ترغب في استخدام شبكة توصيل محتوى (CDN) لتسريع الوصول العالمي إلى الأصول المشتركة في منتدى Discourse الخاص بك؟ قد ترغب في الالتزام بالكامل والانتقال إلى Set up file and image uploads to S3 (انظر أيضًا Configure an S3 compatible object storage provider for uploads).

إذا كنت تريد شبكة توصيل محتوى (CDN) دون التعقيد الإضافي لـ S3 ووجود شبكتي CDN، فهذا هو الدليل المناسب لك. ستقلل شبكة توصيل المحتوى (CDN) بعض الحمل عن خادمك عن طريق السماح لشبكة توصيل المحتوى (CDN) بخدمة تلك الأصول حتى لا يضطر الخادم إلى ذلك. كما يمكنها تسريع الأمور عن طريق توصيل الملفات من موقع أقرب إلى المستخدم النهائي.

سجّل لدى شبكة توصيل المحتوى (CDN) التي تختارها - لقد استخدمت CDCK/discourse.org وتوصي بشدة بـ Fastly.

سيبدو التكوين شيئًا كهذا:

ما تبحث عنه هو ثلاثة إعدادات رئيسية:

  1. عنوان المصدر (origin address)، وهو عنوان URL حيث يقع منتدىك حاليًا discourse.example.com. هذا هو المكان الذي ستسحب منه شبكة توصيل المحتوى (CDN) جميع محتوياتها الأصلية عند الطلب الأول.

  2. اسم CNAME (CNAME)، وهو الاسم “الودي” لشبكة توصيل المحتوى (CDN) التي ستقوم بإعدادها في نظام أسماء النطاقات (DNS) الخاص بك، على سبيل المثال discourse-cdn.example.com

  3. عنوان URL لشبكة توصيل المحتوى (CDN URL)، وهو الاسم “غير الودي” للمكان الذي ستأتي منه أصول شبكة توصيل المحتوى (CDN) المخزنة مؤقتًا عبر شبكة الخوادم الموزعة عالميًا لشبكة توصيل المحتوى (CDN). سيبدو كـ 637763234.cdn-provider.com

ستحتاج إلى تعديل نظام أسماء النطاقات (DNS) الخاص بك لربط اسم CNAME بعنوان URL لشبكة توصيل المحتوى (CDN)، كالتالي:

discourse-cdn.example.com IN CNAME 637763234.cdn-provider.com

(بمجرد تعديل نظام أسماء النطاقات (DNS)، امنحه بعض الوقت للانتشار.)

الجزء الفعلي الخاص بـ Discourse من الإعداد بسيط إلى حد ما. قم بإلغاء التعليق على سطر شبكة توصيل المحتوى (CDN) في ملف app.yml الخاص بك وقم بتحديثه باسم CNAME الذي قمت بإعداده للتو في نظام أسماء النطاقات (DNS) الخاص بك:

    ## عنوان http أو https لشبكة CDN لهذا المثيل من Discourse (تم التكوين للسحب)
    DISCOURSE_CDN_URL: https://discourse-cdn.example.com

:warning: يجب أن يتضمن عنوان URL لشبكة توصيل المحتوى (CDN) بروتوكول (https:// أو http://). لم يعد دعم عناوين URL النسبية للبروتوكول (التي تبدأ بـ //) مدعومًا وسيؤدي إلى إيقاف بناء الحاوية.

(إذا لم تر هذا السطر في ملف app.yml الخاص بك، أضفه أسفل متغيرات DISCOURSE_ الأخرى)

كما هو الحال مع أي تغييرات أخرى على ملف app.yml الخاص بك، تحتاج إلى إعادة بناء الحاوية لتعكس التغييرات:

./launcher rebuild app

بمجرد إعادة البناء، تصفح مثيل Discourse الخاص بك في المتصفح. اعرض المصدر وابحث عن “cdn”. سترى أن أصول مواقع الويب تأتي الآن من شبكة توصيل المحتوى (CDN) الخاصة بك:

<script src="https://discourse-cdn.codinghorror.com/assets/preload_store-4ea79c2f435becca86ac97a9c038f9c7.js"></script>
<script src="https://discourse-cdn.codinghorror.com/assets/locales/en-7084a68855205a9128245d2d0ce94ed9.js"></script>

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

شبكات توصيل محتوى (CDNs) أخرى تم الإبلاغ عن عملها تشمل:

43 إعجابًا
Full site CDN acceleration for Discourse
Azure Backup/CDN Integration
Downloading remote images disabled due to disk space
How do I change the legacy CDN URLs of images in posts?
Add a new site (android) 'was not found'
CloudFront not caching static files
How to enable AWS CDN to accelerate the discourse service
Cloudfront cdn with discourse?
How to add AWS Cloudfront as a Discourse CDN
How to solve super slow loading time for site?
Varnish config for discourse
S3 image bandwidth costs are getting annoying
Discourse load balancer encounters problems, hoping to help
Is Hetzner Object Storage and Bunny CDN Supported?
I can't login to admin after backup due to Cloudflare
How to install discourse without ssl?
How to add AWS Cloudfront as a Discourse CDN
Conserving unicorns by serving images with nginx?
Is Hetzner Object Storage and Bunny CDN Supported?
Optimizing Site For Speed - How To Improve?
Latest commits in v3.3.0.beta3-dev seems to break Discourse
How to make Discourse faster for image-heavy communities?
Using Discourse with Cloudflare: Best Practices
Minimum server size based on backup?
Understanding Uploads, Images, and Attachments
Uploads Subdomain For Cloudflare
Discourse & Cloudflare
Mobile app URL issues
Forum does not work
Should I load third-party libraries from vendor or cdn?
Forum not working after configuring CDN (ERR_CERT_COMMON_NAME_INVALID)
Blank login and signup page
My discourse speed is very slow
MKJ's Opinionated Discourse Deployment Configuration
How might we better structure #howto?
Change image folder to symlinked folder