Şirketim kısaca bir blog oluşturacak ve wordpress web sitesini fazlalık için barındıracak iki web sunucusu kurmayı planlıyorum. Normalde, bir çiftlikteki bir siteye bültenler yaptığımızda, bir tarafa doğru itilir, test edilir ve ardından diğer tarafa bırakılır. Wordpress güncellemeleri için bunu kolayca yapabiliriz. Ancak sorun, wp-content klasörünün nasıl işleneceği olur. Kullanıcılar yayınları yayınlayacağından ve grafikleri yükleyeceğinden, bunların hangi sunucuda kullanıcı tarafından yüklendiğine bakmaksızın çiftlikte bulunan diğer sunucuyla senkronize edilmesi gerekir.
Dosyaları çoğaltmak için DFS'yi kurabilirdim, ama bu aşırı dikiş gibi dikişler.
Robocopy'i her 15 dakikada bir ya da başka bir şekilde çalıştırabilirim, sonra da yayınlara zamanının en az 15 dakika içinde yayınlanmasını planladığından emin olun, böylece dosyaların çoğaltılması için zamanınız olur.
Dışarıda daha iyi çözümler var mı? Belki de bir wordpress eklentisi, grafikler postaya yüklendiğinde, otomatik olarak çiftlikte diğer sunuculara kopyalanırlar mı?
Windows 2008'de Wordpress'i çalıştırıyorum, bu yüzden Linux çözümleri çok fazla yardımcı olmayacak.
Geçmişte böyle şeyler için Süper Esnek Dosya Synchronizer'ı kullandık. Gerçekten iyi çalışıyor ve senkronizasyonu kontrol etmek için bir dizi seçenek var.
Ben IIS ile bir sihirbaz değilim, ama umarım teknik çevirir.
İki sunucu arasında yük dengeli bir paylaşılan ana bilgisayar adı olduğunu ve ayrıca her biri için genel olarak erişilebilir bir ad olduğunu varsayalım.
İstediğiniz, iki sunucudan birinde bir çeşit dosya eşitlemesiyle birlikte koşullu bir yönlendirme. URI, / wp-content ile başlar ve dosya varsa, yerel olarak sunun. Aksi takdirde diğer sunucuya yönlendirin. A sunucusu B'ye yönlendirir ve tersi de geçerlidir.
Bu, görüntüleyenler için sorunsuz bir deneyim ile sonuçlanmalıdır - bunlar, gönderim ile senkronizasyonun çalışması arasındaki pencerede resimler için geçici bir yönlendirme alacaktır. Bant genişliği veya artıklık endişelerine bağlı olarak, senkronizasyon aralığınız 15 dakikadan daha uzun olabilir, çünkü site yazının başladığı anda düzgün bir şekilde oluşturulmalıdır.
Nginx'te bunu şöyle bir blokla yapardım:
location ~ ^/wp-content {
if( -f $request_filename ) {
expires max;
break;
}
rewrite ^/(.+)$ http://otherserver.com/$1 last;
}
Windows için nginx kullanılabilir, ancak bunu yapmak için web sunucusu yazılımını değiştirmek istediğinizden şüpheliyim. Umarım, fikir IIS’ye veya hangi yazılımı kullanıyor olmanıza dönüştürülebilir.
Bunu ayrı bir yanıt olarak söylüyorum çünkü bu farklı bir yaklaşım:
Görüntüleri bulut depolama alanına (Amazon S3 veya benzeri) koyma ve kullanıcılarınızın buluta bağlantılar kullanmalarını sağlama. Bant genişliği maliyetleri biraz daha yüksek olabilir ve kullanıcıların öncelikle buluta yükleme yapması için gerekli eğitim sorunları olabilir, ancak yerel dosya sistemi veya çapraz sunucu kontrollerine olan ihtiyacı ortadan kaldırır.
Ayrıca, dağıttığınız sunucuların sayısından bağımsız olarak ölçeklendirilmelidir.
Tek bir ağ dosya paylaşımında (DFS yok) bir seçenek içeriyor mu?
Ne dersin ahenk?
Bunun için rsync'i kullanabilirsiniz. Aksi takdirde, kaynak kontrolü altında dosyalarınız varsa, farklı makinelere (hatta gerekirse geri alma) geri dönebilmek için Capistrano gibi bir şey kullanabilirsiniz.
Birden fazla makineye sahip olduğunuzda, dağıtmak ve geri almak mümkün çok kullanışlı.
Aşağıdaki anahtarlar ile robocopy hakkında nasıl:
1. Değişiklikleri tespit etmek ve senkronizasyonu çalıştırmak için -
/ MON: n :: MONitor kaynağı; n'den daha fazla değişiklik olduğunda tekrar çalıştırın.
/ MOT: m :: MOnitor kaynağı; m dakika cinsinden tekrar çalıştırın.
- bant genişliği tasarrufu seçenekleri -
/ RH: hhmm-hhmm :: Çalışma Saatleri - yeni kopyaların başlatılacağı zamanlar.
/ PF :: Dosya Başına (geçiş başına değil) çalışma saatlerini kontrol edin.
neways, nihayet bu konu için neyi kullandın?