O'tgan hafta ichida
Umumiy hosting (Birgalikda hosting) ko'plab mijoz hisoblari bitta serverda joylashganligini nazarda tutadi. Qoida tariqasida, bitta mijozning hisobida bir nechta veb-saytlar mavjud. Veb-saytlar ham tayyor CMS (masalan, Bitrix) va ham maxsus dasturlarda ishlaydi. Shunday qilib, barcha tizimlarning texnik talablari har xil, shuning uchun PHP ning bir nechta versiyalari bitta server ichida boshqarilishi kerak.
Biz Nginx-dan asosiy veb-server sifatida foydalanamiz: u tashqaridan barcha ulanishlarni qabul qiladi va statik tarkibga xizmat qiladi. Biz qolgan so'rovlarni Apache veb-serveriga proksi-server orqali yuboramiz. Bu erda sehr boshlanadi: PHP ning har bir versiyasi ma'lum bir portda tinglovchi alohida Apache nusxasini ishga tushiradi. Ushbu port mijoz saytining virtual xostida ro'yxatdan o'tgan.
Umumiy sxemaning ishlashi haqida ko'proq ma'lumotni ushbu sahifada o'qishingiz mumkin
Umumiy sxema
Shuni ta'kidlash kerakki, biz PHP paketlarini turli versiyalar uchun o'rnatamiz, chunki odatda barcha tarqatishlarda PHPning faqat bitta versiyasi mavjud.
Xavfsizlik birinchi!
Birgalikda xostingning asosiy vazifalaridan biri mijoz ma'lumotlarining xavfsizligini ta'minlashdir. Bitta serverda joylashgan turli hisoblar mustaqil va mustaqildir. U qanday ishlaydi?
Veb-sayt fayllari foydalanuvchilarning o'zlarining uy kataloglarida saqlanadi va kerakli yo'llar veb-serverlarning virtual xostida ko'rsatilgan. Nginx va Apache veb-serverlari ma'lum bir mijozning yakuniy fayllariga kirish huquqiga ega bo'lishi muhim, chunki veb-server faqat bitta foydalanuvchi tomonidan ishga tushiriladi.
Nginx Timeweb jamoasi tomonidan ishlab chiqilgan xavfsizlik tuzatmasidan foydalanadi: bu yamoq foydalanuvchini veb-server konfiguratsiya faylida ko'rsatilganiga o'zgartiradi.
Boshqa hosting provayderlari uchun bu muammoni, masalan, kengaytirilgan fayl tizimi huquqlarini (ACL) manipulyatsiya qilish orqali hal qilish mumkin.
Apache ishga tushirish uchun multiprocessing modulidan foydalanadi
Shunday qilib, yuqorida tavsiflangan operatsiyalar tufayli biz har bir mijoz uchun xavfsiz, izolyatsiya qilingan muhitga ega bo'lamiz. Shu bilan birga, biz umumiy hosting uchun masshtablash muammolarini ham hal qilamiz.
Apache va Nginx kombinatsiyasi qanday amalga oshirilganligini o'qish mumkin
Mutaxassislarimiz uchun savollaringiz bo'lsa, sharhlarda yozing. Biz hamma narsaga javob berishga harakat qilamiz yoki muammoning echimini keyingi maqolalarda batafsilroq tasvirlab beramiz.
Manba: www.habr.com