Wayang: mengelola (banyak) Apache VirtualHosts


9

Saya belajar cara saya melalui manajemen konfigurasi secara umum dan menggunakan boneka untuk mengimplementasikannya secara khusus. Saya sudah melakukan beberapa riset generik ( juga tentang SF ) dan saat ini saya sedang mempertimbangkan Apache VirtualHosts.

Kami meng-host banyak situs web LAMP (saat ini dalam kisaran ratusan) pada dua sistem: satu Apache2 / mod_php satu dan satu MySQL - pada dasarnya kebalikan dari pertanyaan lain sudah ada di SF di mana ia mengelola banyak server dengan beberapa vhost masing-masing (jika sebenarnya bukan satu, saya tidak tahu). Saya belum menyusun config yang berfungsi dalam wayang, tetapi seharusnya tidak menjadi masalah, ada banyak contoh dan resep di luar sana.

Selain file konfigurasi apache yang jelas (tidak ada masalah di sini, saya kira) setiap vhost perlu memiliki beberapa direktori yang dibuat dan izin diperiksa (misalnya direktori root untuk setiap vhost yang berisi documentroot, dir tmp khusus, dedicated tmp dir, dedicated file sesi php dir, mungkin sertifikat SSL, dan sebagainya) di server web, dan pengguna + satu atau lebih basis data di server MySQL.

Menambahkan vhost baru akan membutuhkan boneka untuk membuat itu, menghapus satu akan membutuhkan boneka untuk menjalankan beberapa skrip yang akan membuat cadangan data pengguna dan kemudian menghapus data langsung dari dua server, tetapi juga setiap dan setiap agen wayang berjalan kemudian akan memeriksa keberadaan direktori, db, izin, dll.

Apakah saya meminta masalah ketika pergi ke ratusan virtualhost dengan semua cek berjalan di setiap boneka, terutama yang filesystem (di server web), dan terutama ketika di masa depan sistem akan dimuat lebih banyak? (katakanlah kita menargetkan rentang 1000 ~ 2000 situs web sebagai maksimum per-server yang masuk akal).

Apakah ada pengalaman dalam melakukan itu di internet? Saya mencari di Google tetapi tidak menemukan apa pun, juga karena ada rasio sinyal / noise yang rendah ketika mencari "boneka" dan "apache" ...

Jawaban:


4

Saya menduga bahwa mengelola banyak host virtual apache tidak akan menjadi masalah, tetapi saya tidak bisa mengatakannya dengan pasti. Kinerja yang dapat diterima ditentukan oleh kebutuhan bisnis Anda. Hanya Anda yang dapat memutuskan apakah itu cukup cepat. Berikut adalah utas yang layak tentang mengurangi beban CPU: https://groups.google.com/forum/?fromgroups#!topic/puppet-users/sxtMvCnKnys[1-25]

Untuk meringkas utas:

  • Tingkatkan penundaan antara lompatan agen wayang
  • jangan menjadwalkan boneka dan hanya menggunakan tendangan boneka atau boneka untuk memicu lari
  • jadwal perubahan Apache hanya terjadi pada waktu-waktu tertentu.
  • gunakan dua lingkungan yang berbeda (pemeliharaan dan produksi) untuk mengelola berbagai hal. Buat produksi tetap ringan dan gunakan perawatan untuk membuat perubahan.

Berikut adalah contoh mengelola apache Virtual Host dari situs web PuppetLabs: http://docs.puppetlabs.com/learning/definedtypes.html#an-example-apache-vhosts

Menyiapkan dan menghapus konfigurasi seharusnya tidak menjadi masalah. Masalah terbesar adalah menghapus file data untuk aplikasi / situs web. Untuk itu, saya akan merekomendasikan penyimpanan bersama, seperti NFS / AFS. Jika Anda tidak menggunakan penyimpanan bersama, maka pastikan data yang dibuat pengguna dibiarkan utuh, dicadangkan, atau dimigrasikan ke server baru.

Saya menduga bahwa Anda berada dalam situasi hosting massal, seperti perusahaan hosting web, jadi saya sarankan agar setiap situs situs tidak dikodekan ke manifes wayang Anda. Untuk ini, saya sarankan menggunakan Hiera < http://puppetlabs.com/blog/first-look-installing-and-using-hiera/ . Hiera memungkinkan Anda untuk menggunakan cara terpisah untuk menyimpan daftar host virtual ke pemetaan server nyata. Anda dapat menggunakan file datar atau database dengan Hiera. Sayangnya, saya tidak tahu Hiera cukup untuk memandu Anda tentang cara mengatur struktur data Hiera multi-level yang mungkin Anda butuhkan, tapi setidaknya saya bisa mengarahkan Anda ke arah umum Hiera.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.