Drupal sitesi / sayfası statik olarak dışa aktarılsın / dağıtılsın mı? (önbellek yok)


12

Bu konuda yardımcı olabilecek mevcut bir modül olup olmadığını merak ediyorum. Önbellek modülü (Boost veya Vernik gibi) aramıyorum, ancak tüm sitemi (veya yalnızca belirli sayfaları) statik olarak dışa aktarmanın bir yolu. Fikir, web sunucumun çok basit ve hafif olmasını ve sadece statik dosyaları (html / css / js) sunmasını istiyorum - üretimde veritabanı yok, sunucuya php motoru yüklenmeyecek. Tüm Drupal motoru başka bir sunucuda olacak, bir düğüm veya görünüm eklerken / düzenlerken / değiştirirken dışa aktarma yapılacak ve bir dizin yapısında yeni bir html dosyaları kümesi oluşturulacak. Bu dosyalar daha sonra her zaman ve yalnızca statik dosyaları sunacak olan üretim sitesine kopyalanır, dosya varsa istekleri kontrol edecek .htaccess yok vb.

Bunun için bir modül var mı veya Drupal ile bunun yapılabileceği bir çözüm var mı?

Teşekkürler

Yanıtlar:



2

Bu işlevselliği sağlayan Statik Jeneratör sağlayan yeni bir Drupal 7 modülü var

Statik Jeneratör:

Statik modül, tüm js, css, resimler ve diğer varlıkları içeren html biçiminde web sitenizin tam bir kopyasını oluşturur. Bu daha sonra web sitesini PHP, MySQL veya memcache olmadan basit bir web sunucusundan çalıştırmak için aktarılabilir.

Yararları:

  • Performans: Halka açık sitede PHP, Mysql vb. Yok. Her şey statik bir dosyadır, bu yüzden çok hızlı bir şekilde sunulur.
  • Güvenlik: Sitenin statik sürümünde veritabanı, kullanıcı hesapları veya başka herhangi bir kullanıcı etkileşimi (3. taraf entegrasyonları hariç) yoktur, bu nedenle çok daha güvenlidir.
  • Güvenilirlik: Genel arıza noktalarının çoğu gitti. PHP, MySQL, memcache, vernik, vb. Artık statik sitenin bir parçası değildir.

Sınırlamalar:

Web sitesinin arkasında veritabanı veya PHP bulunmadığından, onu gerektiren herhangi bir işlev kullanılamaz. 3. bölüm kütüphaneler gerekli işlevselliklerin çoğunu doldurabilir.

Kullanılamayan parçalardan bazıları:

  • Görünüm filtresi yok
  • Drupal yorum
  • Drupal arama.
  • Drupal form yok.
  • Bağlam yok (modül değil) - Javascript'te yapmadığınız sürece sayfa içeriğini kullanıcıya göre değiştiremezsiniz.
  • Ajax geri çağırma yok (önceden oluşturulmuş GET istekleri hariç)

Çağrı cihazları, hook_preprocess_pager'dan geçtiği sürece ÇALIŞIR.


1

GNU wget , sitenizin sayfalarını indirip yerel olarak depolayabilen bir WWW istemcisidir. -rSayfaları yinelemeli olarak indirme seçeneğini kullanın (yani, geçerli sayfada bulunan aynı sitedeki sayfalara olan bağlantıları izleyin). Ayrıca mutlak URL'leri göreli URL'ye dönüştürebilir ( -kseçeneği kullanarak ).


Evet, wget seçeneğini biliyorum, bu şekilde HTTrack adı verilen daha iyi WWW istemcisi var . Bir Drupal için özelliği inşa halinde bir nevi statik versiyonu vb teşekkür sayfayı ihraç edecek, her sayfada bir düğmeye diyelim ekleyebileceğiniz merak
Maor Barazany

0

Benzer bir şey arıyorum. Modülleri araştırdım ve aşağıdaki seçenekleri buldum, ancak henüz bunlardan birine bakmadım:

Sitemiz için S3 veya CDN hizmeti sunan başka bir statik dosya kullanmak istiyoruz, bu nedenle aşağıdakine benzer bir şey yardımcı olacaktır:

Başka bir düşünce, boost gibi bir önbellek çerçevesinden yararlanmak ve dosyaları önbelleğe alırken üretime itmek için bir şeyler eklemek mümkün olabilir .


0

Wget Static - HTML Oluştur ve FTP / Webdav'a Kaydet modülünü kullanabilirsiniz . Aslında, yukarıda tartıştığınız mimariyi de uyguladım.

Statik HTML üretimi için, sorgu parametreleri kullanılarak da atlanabilen içerik seçebilirsiniz. Ardından ikinci bölüm WGET uygulamasını kullanarak statik html oluşturma işlemini gerçekleştirir. Bu Wget Statik Modülü, Statik Veri Üretimi için neredeyse tüm seçenekleri kapsar.

Sadece bu değil, son olarak üretilen statik html'yi indirmenin yanı sıra, FTP sunucusuna veya yine İki faktörlü Kimlik Doğrulamayı destekleyen Webdav Server'a kaydetme seçeneğiniz vardır .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.