Eksportować / wdrożyć witrynę / stronę Drupal na statyczne? (brak pamięci podręcznej)

12

Zastanawiam się, czy istnieje moduł, który może pomóc w tym temacie. Nie szukam modułu buforowania (takiego jak Boost lub Varnish), ale sposób na eksport całej mojej witryny (lub tylko niektórych stron) do statycznej. Chodzi o to, że chcę, aby mój serwer WWW był bardzo prosty i lekki i będzie obsługiwał tylko pliki statyczne (html / css / js) - brak bazy danych na produkcji, silnik PHP nie zostanie zainstalowany na serwerze. Cały silnik Drupal będzie na innym serwerze, eksport będzie przeprowadzany za każdym razem, gdy dodasz / edytujesz / zmieniasz węzeł lub widok, a nowy zestaw plików HTML zostanie utworzony w strukturze katalogów. Pliki te zostaną później skopiowane na stronę produkcyjną, która będzie obsługiwać zawsze i tylko pliki statyczne, bez dostępu do pliku .htac, który sprawdza żądania, jeśli plik istnieje itp.

Czy istnieje do tego moduł lub obejście tego problemu za pomocą Drupala?

Dzięki

Maor Barazany
źródło

Odpowiedzi:

2

Dostępny jest nowy moduł Drupal 7, pod warunkiem że ta funkcja to Generator statyczny

Generator statyczny:

Moduł statyczny generuje kompletną kopię witryny w formie html zawierającą wszystkie pliki js, css, obrazy i inne zasoby. Można to następnie przenieść, aby uruchomić witrynę z prostego serwera WWW bez PHP, MySQL lub memcache.

Korzyści:

  • Wydajność: brak PHP, MySQL itp. W publicznej witrynie. Wszystko jest plikiem statycznym, więc jest obsługiwane bardzo szybko.
  • Bezpieczeństwo: statyczna wersja strony nie ma bazy danych, kont użytkowników ani żadnej innej formy interakcji użytkownika (z wyjątkiem integracji stron trzecich), więc jest znacznie bezpieczniejsza.
  • Niezawodność: większość zwykłych punktów awarii zniknęła. PHP, MySQL, memcache, lakier itp. Nie są już częścią strony statycznej.

Ograniczenia:

Z uwagi na fakt, że za witryną nie ma bazy danych ani PHP, żadna funkcjonalność, która tego wymaga, nie może być używana. Biblioteki trzeciej części mogą wypełnić większość potrzebnych funkcji.

Niektóre części, których nie można użyć to:

  • Brak filtrów widoków
  • Komentarze Drupala
  • Wyszukiwanie Drupal.
  • Żadnych form drupali.
  • Brak kontekstu (nie modułu) - co oznacza, że ​​nie możesz zmienić zawartości strony na podstawie użytkownika, chyba że zrobisz to w javascript.
  • Brak wywołań zwrotnych ajax (oprócz wstępnie wygenerowanych żądań GET)

Pager'y działają tak długo, jak są przekazywane przez hook_preprocess_pager.

WaQaR Ali
źródło
1

GNU wget to klient WWW, który może pobierać strony witryny i przechowywać je lokalnie. Użyj -ropcji, aby pobierać strony rekurencyjnie (tzn. Klikaj łącza do stron w tej samej witrynie, które znajdują się na bieżącej stronie). Może także konwertować bezwzględne adresy URL na względne (za pomocą -kopcji).

Oswald
źródło
Tak, znam opcję wget, w ten sposób jest jeszcze lepszy klient WWW o nazwie HTTrack . Zastanawiałem się, czy Drupal ma wbudowaną funkcję, która może dodać, powiedzmy, przycisk na każdej stronie, który wyeksportuje stronę do wersji statycznej itp. Dzięki
Maor Barazany
0

Szukam czegoś podobnego. Przeszukałem moduły i znalazłem następujące opcje, ale nie sprawdziłem jeszcze żadnego z nich:

Chcemy użyć S3 lub innego statycznego serwisu obsługującego pliki CDN dla naszej witryny, więc możliwe jest, że coś podobnego będzie pomocne:

Inną myślą jest to, że możliwe jest wykorzystanie frameworka buforowania, takiego jak boost, i dodanie czegoś, co wypchnie pliki do produkcji podczas buforowania.

rjmunro
źródło
0

Możesz użyć modułu Wget Static - Generuj HTML i Zapisz na FTP / Webdav , który dokładnie robi to, co chcesz. Rzeczywiście, wdrożyłem również tę samą architekturę, o której mówiłeś tuż powyżej.

Możesz wybrać zawartość do statycznego generowania HTML, którą można również ominąć przy użyciu parametrów zapytania. Następnie przychodzi druga część, w której wykonuje się statyczne generowanie HTML za pomocą aplikacji WGET. Ten moduł statyczny Wget obejmuje prawie wszystkie opcje niezbędne do generowania danych statycznych.

Nie tylko to, w końcu oprócz pobrania wygenerowanego statycznego kodu HTML, masz opcję zapisania go na serwerze FTP lub serwerze Webdav , który ponownie obsługuje uwierzytelnianie dwuskładnikowe .


źródło