Експорт / розгортання сайту / сторінки Drupal до статичного? (немає кеша)


12

Цікаво, чи існує існуючий модуль, який може допомогти в темі. Я шукаю не модуль кешування (наприклад, Boost або Varnish), а спосіб експортувати весь сайт (або лише певні сторінки) в статичний. Ідея полягає в тому, що я хочу, щоб мій веб-сервер був дуже простим і легким, і він буде обслуговувати лише статичні файли (html / css / js) - жодна база даних по виробництву, жоден движок php не буде встановлений на сервері. Весь движок Drupal буде на іншому сервері, експорт буде виконуватися щоразу, додаючи / редагуючи / змінюючи вузол або перегляд, і новий набір файлів html буде створений у структурі каталогу. Пізніше ці файли будуть скопійовані на виробничий сайт, який обслуговуватиме завжди та лише статичні файли, без .htaccess, який перевірятиме запити на наявність файлу тощо.

Чи є модуль для цього чи вирішення того, що це можна досягти за допомогою Drupal?

Дякую

Відповіді:



2

Існує новий модуль Drupal 7, що забезпечує цю функціональність Static Generator

Статичний генератор:

Статичний модуль генерує повну копію вашого веб-сайту у форматі HTML, включаючи всі js, css, зображення та інші об’єкти. Потім це можна перенести для запуску веб-сайту з простого веб-сервера без PHP, MySQL або memcache.

Переваги:

  • Продуктивність: Немає PHP, Mysql тощо на загальнодоступному сайті. Все є статичним файлом, тому він подається дуже швидко.
  • Безпека: у статичній версії сайту немає бази даних, облікових записів користувачів чи будь-якої іншої форми взаємодії з користувачем (крім сторонніх інтеграцій), тому це набагато безпечніше.
  • Надійність: Більшість звичних точок відмови вже немає. PHP, MySQL, memcache, лак тощо вже не є частиною статичного сайту.

Обмеження:

Через те, що за веб-сайтом немає бази даних або PHP, будь-яка функціональність, яка вимагає її, не може бути використана. Бібліотеки 3-ї частини можуть заповнити більшість необхідних функціональних можливостей.

Деякі частини, які неможливо використати:

  • Немає фільтрів переглядів
  • Друпальські коментарі
  • Друпальський пошук.
  • Немає друпальних форм.
  • Немає контексту (не модуля) - це означає, що ви не можете змінювати вміст сторінки на основі користувача, якщо ви не зробите це в JavaScript.
  • Немає зворотних викликів Ajax (крім попередньо створених GET-запитів)

Пейджери НЕ працюють до тих пір, поки вони будуть пропущені через гачок_препроцес_пагер.


1

GNU wget - це клієнт WWW, який може завантажувати сторінки вашого сайту та зберігати їх на локальному рівні. Використовуйте -rопцію, щоб завантажувати сторінки рекурсивно (тобто переходити посилання на сторінки того ж сайту, що знаходяться на поточній сторінці). Він також може конвертувати абсолютні URL-адреси у відносні (використовуючи -kпараметр).


Так, я знаю варіант wget, в такий спосіб є ще кращий WWW-клієнт, який називається HTTrack . Мені було цікаво, чи є вбудована функція для Drupal, яка може додати скажімо, якусь кнопку на кожній сторінці, яка експортує сторінку до статичної версії тощо. Дякую
Maor Barazany,

0

Я шукаю щось подібне. Я шукав модулі та знайшов наступні варіанти, але ще не вивчив жоден з них:

Ми хочемо використати S3 або інший статичний файл, що обслуговує CDN-сервіс для нашого сайту, тому можливо, щось подібне буде корисним:

Інша думка полягає в тому, що, можливо, можна використовувати рамки кешування, такі як прискорення, і додати щось, що підштовхує файли до виробництва, оскільки воно кешує їх.


0

Ви можете використовувати модуль Wget Static - Створення HTML і збереження на FTP / Webdav , який саме робить те, що ви хочете. Infact, я також розгорнув таку ж архітектуру, про яку ви говорили трохи вище.

Ви можете вибрати вміст для статичного генерування HTML, який також можна обійти за допомогою параметрів запиту. Далі йде друга частина, де ви виконуєте статичну генерацію HTML за допомогою програми WGET. Цей статичний модуль Wget майже охоплює всі варіанти, необхідні для генерування статичних даних.

Не тільки це, нарешті, крім завантаження створеного статичного html, у вас є можливість зберегти його на FTP-сервер або на сервер Webdav , який знову підтримує двофакторну автентифікацію.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.