ส่งออก / ปรับใช้ไซต์ Drupal / หน้าเป็นแบบคงที่หรือไม่ (ไม่มีแคช)


12

ฉันสงสัยว่ามีโมดูลที่มีอยู่ที่สามารถช่วยในเรื่องหรือไม่ ฉันไม่ได้กำลังมองหาโมดูลแคช (เช่น Boost หรือ Varnish) แต่เป็นวิธีการส่งออกเว็บไซต์ทั้งหมดของฉัน (หรือเฉพาะบางหน้า) เป็นแบบคงที่ แนวคิดคือฉันต้องการเว็บเซิร์ฟเวอร์ของฉันจะง่ายและเบาและจะให้บริการไฟล์คงที่เท่านั้น (html / css / js) - ไม่มีฐานข้อมูลในการผลิตไม่มีเอ็นจิ้น php จะติดตั้งบนเซิร์ฟเวอร์ เอ็นจิ้น Drupal ทั้งหมดจะอยู่บนเซิร์ฟเวอร์อื่นการส่งออกจะกระทำในแต่ละครั้งที่เพิ่ม / แก้ไข / เปลี่ยนโหนดหรือมุมมองและไฟล์ html ชุดใหม่จะถูกสร้างขึ้นในโครงสร้างไดเรกทอรี ไฟล์เหล่านี้จะถูกคัดลอกไปยังไซต์การผลิตที่จะให้บริการเสมอและมีเพียงไฟล์แบบคงที่เท่านั้นไม่มี. htaccess ที่จะตรวจสอบคำขอหากมีไฟล์อยู่ ฯลฯ

มีโมดูลสำหรับสิ่งนั้นหรือวิธีแก้ปัญหาที่สามารถทำได้ด้วย Drupal

ขอบคุณ

คำตอบ:


5

ผมใช้HTTrackนี้ยังมีบทความเกี่ยวกับการ drupal.org: การสร้างที่เก็บคงที่ของเว็บไซต์ Drupal


ขอบคุณฉันเคยได้ยินเกี่ยวกับมันในขณะที่ฉันเพิ่งตอบ Oswald ฉันจะอ่านบทความในลิงค์ของคุณขอบคุณ
Maor Barazany

2

มีโมดูล Drupal 7 ใหม่ที่ให้การทำงานนี้เป็นเครื่องกำเนิดไฟฟ้าแบบคงที่

เครื่องกำเนิดไฟฟ้าคงที่:

โมดูลคงสร้างสำเนาเว็บไซต์ของคุณในรูปแบบ html รวมถึง js, css, รูปภาพและเนื้อหาอื่น ๆ ทั้งหมด จากนั้นสามารถถ่ายโอนเพื่อเรียกใช้เว็บไซต์จากเว็บเซิร์ฟเวอร์ที่เรียบง่ายโดยไม่มี PHP, MySQL หรือ memcache

ประโยชน์ที่ได้รับ:

  • ประสิทธิภาพการทำงาน: ไม่มี PHP, Mysql และอื่น ๆ บนเว็บไซต์สาธารณะ ทุกอย่างเป็นไฟล์คงที่จึงให้บริการได้อย่างรวดเร็ว
  • ความปลอดภัย: เว็บไซต์ในรูปแบบคงที่ไม่มีฐานข้อมูลบัญชีผู้ใช้หรือรูปแบบการโต้ตอบผู้ใช้อื่น ๆ (ยกเว้นการรวมระบบของบุคคลที่สาม) ดังนั้นจึงมีความปลอดภัยมากขึ้น
  • ความน่าเชื่อถือ: คะแนนความล้มเหลวปกติส่วนใหญ่หายไป PHP, MySQL, memcache, วานิชและอื่น ๆ ไม่ได้เป็นส่วนหนึ่งของเว็บไซต์คงที่อีกต่อไป

ข้อ จำกัด :

เนื่องจากความจริงที่ว่าไม่มีฐานข้อมูลหรือ PHP อยู่เบื้องหลังเว็บไซต์จึงไม่สามารถใช้ฟังก์ชันการทำงานที่ต้องการได้ ไลบรารีส่วนที่ 3 สามารถเติมฟังก์ชันการทำงานที่จำเป็นส่วนใหญ่ได้

บางส่วนที่ไม่สามารถใช้ได้คือ:

  • ไม่มีตัวกรองมุมมอง
  • ความเห็นของ Drupal
  • ค้นหา Drupal
  • ไม่มีรูปแบบ drupal
  • ไม่มีบริบท (ไม่ใช่โมดูล) - หมายถึงคุณไม่สามารถเปลี่ยนเนื้อหาของหน้าเว็บตามผู้ใช้เว้นแต่คุณจะทำในรูปแบบจาวาสคริปต์
  • ไม่มี ajax callbacks (ยกเว้นคำขอ GET ที่สร้างไว้ล่วงหน้า)

Pagers ทำงานได้ตราบใดที่ส่งผ่าน hook_preprocess_pager


1

GNU wgetเป็นไคลเอนต์ WWW ที่สามารถดาวน์โหลดหน้าเว็บไซต์ของคุณและเก็บไว้ในเครื่องได้ ใช้-rตัวเลือกเพื่อดาวน์โหลดหน้าซ้ำ ๆ (เช่นติดตามลิงค์ไปยังหน้าต่างๆในเว็บไซต์เดียวกันที่พบในหน้าปัจจุบัน) นอกจากนี้ยังสามารถแปลง URL แบบสัมบูรณ์เป็นสัมพัทธ์-kได้


ใช่ฉันรู้ว่าตัวเลือก wget ในลักษณะว่ามีลูกค้ารายละเอียดได้ดียิ่งขึ้นซึ่งเรียกว่าHTTrack ฉันสงสัยว่ามีคุณสมบัติในตัวสำหรับ Drupal ที่สามารถเพิ่มสมมุติว่าเรียงลำดับของปุ่มในแต่ละหน้าที่จะส่งออกหน้าไปยังรุ่นคงที่เป็นต้นขอบคุณ
Maor Barazany

0

ฉันกำลังมองหาสิ่งที่คล้ายกัน ฉันได้ค้นหาโมดูลและพบตัวเลือกต่อไปนี้ แต่ยังไม่ได้ตรวจสอบอย่างใดอย่างหนึ่ง:

เราต้องการใช้ S3 หรือไฟล์คงที่อื่นที่ให้บริการบริการ CDN สำหรับเว็บไซต์ของเราดังนั้นสิ่งที่เป็นไปได้เช่นนี้จะมีประโยชน์มากขึ้น:

อีกความคิดหนึ่งคืออาจเป็นไปได้ที่จะใช้ประโยชน์จากเฟรมเวิร์กแคชเช่นการเพิ่มและเพิ่มบางสิ่งเพื่อผลักดันไฟล์ไปยังการผลิตตามที่แคชไว้


0

คุณสามารถใช้โมดูลWget Static - สร้าง HTML และ Save To FTP / Webdavซึ่งทำสิ่งที่คุณต้องการ Infact ฉันได้ปรับใช้สถาปัตยกรรมเดียวกันกับที่คุณได้กล่าวถึงข้างต้น

คุณสามารถเลือกเนื้อหาสำหรับการสร้าง HTML แบบคงที่ซึ่งสามารถข้ามโดยใช้พารามิเตอร์การสืบค้น จากนั้นส่วนที่สองมาถึงจุดที่คุณดำเนินการสร้าง HTML แบบคงที่โดยใช้แอปพลิเคชัน WGET Wget Static Module เกือบจะครอบคลุมตัวเลือกทั้งหมดที่จำเป็นสำหรับการสร้างข้อมูลแบบคงที่

ไม่เพียงแค่นี้ในที่สุดนอกจากการดาวน์โหลดที่สร้าง html แบบคงที่แล้วคุณมีตัวเลือกเพื่อบันทึกลงในเซิร์ฟเวอร์ FTPหรือเซิร์ฟเวอร์Webdavซึ่งรองรับการตรวจสอบสิทธิ์แบบสองปัจจัยอีกครั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.