Экспорт / Развертывание сайта / страницы 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, любая функциональность, которая требует его, не может быть использована. Библиотеки третьей части могут заполнить большую часть необходимой функциональности.

Некоторые из частей, которые не могут быть использованы:

  • Нет просмотров фильтров
  • Drupal комментарии
  • Drupal поиск.
  • Никаких друпальных форм.
  • Нет контекста (не модуля) - это означает, что вы не можете изменить содержимое страницы в зависимости от пользователя, если вы не сделаете это в javascript.
  • Нет обратных вызовов ajax (кроме предварительно сгенерированных запросов GET)

Пейджеры работают, пока они проходят через hook_preprocess_pager.


1

GNU wget - это WWW-клиент, который может загружать страницы вашего сайта и сохранять их локально. Используйте -rопцию рекурсивной загрузки страниц (т. Е. Переходите по ссылкам на страницы того же сайта, что и на текущей странице). Он также может конвертировать абсолютные URL-адреса в относительные (используя -kопцию).


Да, я знаю опцию wget, таким образом, есть даже лучший клиент WWW, который называется HTTrack . Мне было интересно, есть ли встроенная функция для Drupal, которая может добавить, скажем, своего рода кнопку на каждой странице, которая будет экспортировать страницу в статическую версию и т. Д. Спасибо
Maor Barazany

0

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

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

Другая мысль заключается в том, что возможно использовать механизм кэширования, такой как boost, и добавить что-то, чтобы подтолкнуть файлы к работе по мере их кэширования.


0

Вы можете использовать модуль Wget Static - Generate HTML и Save To FTP / Webdav , который точно делает то, что вы хотите. Infact, я также развернул ту же архитектуру, что вы обсуждали только выше.

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

Не только это, наконец, помимо загрузки сгенерированного статического HTML, у вас есть возможность либо сохранить его на FTP-сервер, либо на сервер Webdav , который снова поддерживает двухфакторную аутентификацию.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.