it-swarm.asia

تصدير / نشر Drupal إلى ثابت؟ (بدون ذاكرة تخزين مؤقت))

أتساءل عما إذا كانت هناك وحدة موجودة يمكنها المساعدة في الموضوع. أنا لا أبحث عن وحدة تخزين مؤقت (مثل Boost أو Varnish) ، ولكن طريقة لتصدير موقعي بالكامل (أو صفحات معينة فقط) إلى ثابت. الفكرة هي أنني أريد أن يكون خادم الويب الخاص بي بسيطًا جدًا وخفيفًا ولن يخدم سوى الملفات الثابتة (html/css/js) - لا توجد قاعدة بيانات حول الإنتاج ، ولن يتم تثبيت محرك php على الخادم. سيكون كل محرك Drupal على خادم آخر ، وسيتم التصدير في كل مرة يتم فيها إضافة/تعديل/تغيير عقدة أو طريقة عرض ، وسيتم إنشاء مجموعة جديدة من ملفات html في بنية دليل. سيتم نسخ هذه الملفات في وقت لاحق إلى موقع الإنتاج الذي سيخدم دائمًا الملفات الثابتة فقط ، ولا يوجد وصول .htex الذي سيتحقق من الطلبات في حالة وجود الملف وما إلى ذلك.

هل توجد وحدة لذلك أو حل بديل يمكن تحقيقه مع دروبال؟

شكر

12
Maor Barazany

أستخدم HTTrack لهذا ، وهناك أيضًا هذه المقالة على drupal.org: إنشاء أرشيف ثابت من Drupal .

5
tostinni

هناك وحدة Drupal 7 جديدة توفر هذه الوظيفة Static Generator

المولد الثابت:

تولد الوحدة الثابتة نسخة كاملة من موقع الويب الخاص بك في شكل html بما في ذلك جميع شبيبة ، css ، والصور والأصول الأخرى. يمكن بعد ذلك نقل هذا لتشغيل موقع الويب من خادم ويب بسيط بدون PHP أو MySQL أو memcache.

الفوائد:

  • الأداء: لا يوجد PHP ، Mysql ، إلخ على الموقع المواجه للجمهور. كل شيء هو ملف ثابت لذلك يتم تقديمه بسرعة كبيرة.
  • الأمان: لا يحتوي الإصدار الثابت من الموقع على قاعدة بيانات أو حسابات مستخدمين أو أي شكل آخر من أشكال تفاعل المستخدم (باستثناء عمليات تكامل الجهات الخارجية) لذا فهو أكثر أمانًا.
  • الموثوقية: اختفت معظم نقاط الفشل المعتادة. لم تعد PHP و MySQL و memcache والورنيش وغيرها جزءًا من الموقع الثابت.

الحدود:

نظرًا لعدم وجود قاعدة بيانات أو PHP خلف موقع الويب ، لا يمكن استخدام أي وظيفة تتطلب ذلك. يمكن لمكتبات الجزء الثالث أن تملأ معظم الوظائف المطلوبة.

بعض الأجزاء التي لا يمكن استخدامها هي:

  • لا توجد مرشحات طرق العرض
  • تعليقات دروبال
  • بحث دروبال.
  • لا نماذج drupal.
  • لا يوجد سياق (ليس الوحدة) - مما يعني أنه لا يمكنك تغيير محتويات الصفحة بناءً على المستخدم ما لم تفعل ذلك في جافا سكريبت.
  • لا توجد استدعاءات ajax (باستثناء طلبات GET التي تم إنشاؤها مسبقًا)

تعمل أجهزة الاستدعاء طالما يتم تمريرها من خلال hook_preprocess_pager.

2
WaQaR Ali

GNU wget هو عميل WWW يمكنه تنزيل صفحات موقعك وتخزينها محليًا. استخدم ال -r خيار تنزيل الصفحات بشكل متكرر (على سبيل المثال ، اتبع روابط الصفحات على نفس الموقع الموجود في الصفحة الحالية). يمكنه أيضًا تحويل عناوين URL المطلقة إلى عناوين نسبية (باستخدام -k اختيار).

1
Oswald

أبحث عن شيء مشابه. لقد بحثت في الوحدات ووجدت الخيارات التالية ، لكنني لم أنظر في أي منها حتى الآن:

نريد استخدام S3 أو ملف ثابت آخر يخدم خدمة CDN لموقعنا ، لذلك من الممكن أن يكون هناك شيء مثل هذا مفيدًا:

هناك فكرة أخرى هي أنه قد يكون من الممكن الاستفادة من إطار عمل التخزين المؤقت مثل تعزيز وإضافة شيء لدفع الملفات إلى الإنتاج أثناء تخزينها مؤقتًا.

0
rjmunro

يمكنك استخدام الوحدة النمطية Wget Static - إنشاء HTML وحفظ إلى FTP/Webdav ، وهو ما يفعل بالضبط ما تريد. في الواقع ، لقد قمت أيضًا بنشر نفس البنية التي ناقشتها أعلاه.

يمكنك تحديد محتوى لإنشاء HTML ثابت ، والذي يمكن تجاوزه أيضًا باستخدام معلمات الاستعلام. ثم يأتي الجزء الثاني حيث تقوم بإنشاء جيل html ثابت باستخدام تطبيق WGET. تغطي وحدة Wget Static Module تقريبًا جميع الخيارات اللازمة لإنشاء البيانات الثابتة.

ليس هذا فقط ، وأخيرًا إلى جانب التنزيل الذي أنشأ أتش تي أم أل ثابت ، لديك خيار إما حفظه إلى خادم FTP أو Webdav Server ، والذي يدعم مرة أخرى المصادقة الثنائية .

0
user50407