Drupal 사이트 / 페이지를 정적으로 내보내거나 배포 하시겠습니까? (캐시 없음) 없으며 서버에 PHP

주제에 도움이 될 수있는 기존 모듈이 있는지 궁금합니다. 캐싱 모듈 (예 : Boost 또는 Varnish)을 찾고 있지 않지만 전체 사이트 (또는 특정 페이지 만)를 정적으로 내보내는 방법입니다. 아이디어는 내 웹 서버가 매우 간단하고 가벼워 정적 파일 (html / css / js) 만 제공한다는 것입니다. 프로덕션에는 데이터베이스가 없으며 서버에 PHP 엔진이 설치되지 않습니다. 모든 Drupal 엔진은 다른 서버에 있으며 노드 또는 뷰를 추가 / 편집 / 변경할 때마다 내보내기가 수행되며 디렉토리 구조에 새로운 html 파일 세트가 작성됩니다. 이러한 파일은 나중에 항상 정적 파일 만 제공하는 프로덕션 사이트로 복사되며 파일이 존재하는 경우 요청을 확인하는 .htaccess는 없습니다.

이를위한 모듈이 있거나 Drupal을 통해이를 해결할 수있는 해결 방법이 있습니까?

감사



답변

나는 이것을 위해 HTTrack 을 사용하고 있으며 drupal.org 에 Drupal 사이트의 정적 아카이브 만들기에 대한 기사가 있습니다 .


답변

이 기능을 제공하는 새로운 드루팔 (7) 모듈이된다 정적 생성기

정적 발전기 :

정적 모듈은 모든 js, css, 이미지 및 기타 자산을 포함하여 html 형식으로 웹 사이트의 전체 사본을 생성합니다. 그런 다음 PHP, MySQL 또는 memcache없이 간단한 웹 서버에서 웹 사이트를 실행하도록 전송할 수 있습니다.

혜택:

  • 성능 : 공개 사이트에는 PHP, Mysql 등이 없습니다. 모든 것이 정적 파일이므로 매우 빠르게 제공됩니다.
  • 보안 : 사이트의 정적 버전에는 데이터베이스, 사용자 계정 또는 다른 형태의 사용자 상호 작용 (타사 통합 제외)이 없으므로 훨씬 안전합니다.
  • 신뢰성 : 대부분의 일반적인 실패 지점이 사라졌습니다. PHP, MySQL, memcache, varnish 등은 더 이상 정적 사이트의 일부가 아닙니다.

한계 :

웹 사이트 뒤에 데이터베이스 나 PHP가 없기 때문에이를 필요로하는 기능은 사용할 수 없습니다. 타사 라이브러리는 필요한 대부분의 기능을 채울 수 있습니다.

사용할 수없는 일부 부품은 다음과 같습니다.

  • 조회수 필터 없음
  • Drupal 의견
  • 드루팔 수색.
  • 드루팔 형태가 없습니다.
  • 컨텍스트 없음 (모듈이 아님)-자바 스크립트에서 수행하지 않으면 사용자를 기반으로 페이지 내용을 변경할 수 없습니다.
  • 아약스 콜백 없음 (사전 생성 된 GET 요청 제외)

호출기는 hook_preprocess_pager를 통과하는 한 작동합니다.


답변

GNU wget 은 사이트의 페이지를 다운로드하여 로컬로 저장할 수있는 WWW 클라이언트입니다. 이 -r옵션을 사용하여 재귀 적으로 페이지를 다운로드 하십시오 (예 : 현재 페이지에서 찾은 동일한 사이트의 페이지 링크를 따르십시오). 또한 -k옵션을 사용하여 절대 URL을 상대 URL로 변환 할 수도 있습니다 .


답변

비슷한 것을 찾고 있습니다. 모듈을 검색하고 다음 옵션을 찾았지만 아직 그 중 하나를 조사하지 않았습니다.

우리 사이트에 CDN 서비스를 제공하는 S3 또는 다른 정적 파일을 사용하고 싶으므로 다음과 같은 것이 더 도움이 될 것입니다.

또 다른 생각은 부스트 와 같은 캐싱 프레임 워크를 활용 하고 파일을 캐시 할 때 프로덕션으로 파일을 푸시하는 것을 추가 하는 것이 가능할 수 있다는 것입니다.


답변

Wget Static-Generate HTML 및 Save To FTP / Webdav 모듈을 사용 하면 원하는 작업을 정확하게 수행 할 수 있습니다. 실제로 위에서 설명한 것과 동일한 아키텍처를 배포했습니다.

정적 HTML 생성을위한 컨텐츠를 선택할 수 있으며 쿼리 매개 변수를 사용하지 않아도됩니다. 그런 다음 두 번째 부분은 WGET 응용 프로그램을 사용하여 정적 HTML 생성을 수행하는 부분입니다. 이 Wget 정적 모듈은 정적 데이터 생성에 필요한 모든 옵션을 거의 다룹니다.

이뿐 만 아니라 마지막으로 생성 된 정적 html을 다운로드하는 것 외에도 FTP 서버 또는 Webdav Server에 저장하여 다시 이중 인증을 지원하는 옵션이 있습니다 .