Sanırım başkaları bunun nedenini ele aldılar, bu yüzden nasıl olduğunu anlayacağım. Sanırım birisinin Kukla'yı istediğini yapmak için nasıl kullanabileceğini anlayarak kararı daha net hale getireceğim.
Önce temel durumu yapın
Apache için Kukla modülünüz varsayılan olarak fazla bir şey yapmamalıdır. Apache'yi yükleyin, minimum standartta yapılandırın ve hizmeti başlatın. Bu işlemi desteklemeniz gereken tüm dağıtımlarda yapın.
İkinci olarak esneklik ekleyin
Hayalet eklememiz gerekiyor. İhtiyacınıza göre dosyayı bırakabilen veya bir dizi conf.d veya vhosts.d / dizininden kaldırabilecek bir sistem elde edersiniz. Modülleri etkinleştirme veya yapılandırma ile aynı şey.
Yapı taşlarınızı birbirine bağlamak için rol veya ana makine grubu sınıflarını kullanın
Kukla'yı kullanmanın en iyi yolunun katkı maddesi olduğundan emin olmak olduğunu düşünüyorum. Yukarıdaki örnekleri kullanarak,
- Apache Yükle
- Temel yapılandırmaları ayarlama
- Apache'ye vhost ekleyin
- Ek ayarları yapılandırın
- Apache'yi başlat
Belirli bir ana bilgisayar veya grup için tam olarak ihtiyacımız olanı yapmak için varsayılan Apache modülümüzü aşırı yüklemek yerine, bu bir rol veya hostgroup sınıfıdır.
class role::web_cust1 {
include apache
apache::vhost {'www.domain.com': }
apache::vhost {'www.domain2.com': priority => '99', }
include php
include php-fpm
include mysql
}
Yine katkı maddesi.
Hiera'ya özel durumlar koy
Kukla Hiera'ya izin vermenin büyük bir hayranıyım, bunu Kukla için bir veritabanı olarak düşünün, özel parçaları saklayın. Belirli bir ana makine veya ana makine grubunun özel bir ayara ihtiyacı varsa, önce normal kullanıcıların bunu bilmesine gerek kalmaması için modüle bir aklı başında varsayılanı koyun. Daha sonra bu özel ana makineler veya ana makine grupları için veri ekleyin, böylece Hiera bunu gerektiği şekilde Kukla'ya iletebilir.
Benim kullanım durumum Dinle portu. Bazı sunucular önünde Vernik veya haproksi bulunur. Varsayılan olarak Kukla modülünde Apache kullanım portu 80 vardır, ancak Hiera veri bulursa bu varsayılanı geçersiz kılar.