Apache va Nginx. Bitta zanjir bilan bog'langan (2-qism)

O'tgan hafta ichida birinchi qism Ushbu maqolada biz Timeweb-da Apache va Nginx kombinatsiyasi qanday qurilganligini tasvirlab berdik. Biz o'quvchilarga savollari va faol muhokamalari uchun juda minnatdormiz! Bugun biz bir serverda PHP ning bir nechta versiyalarining mavjudligi qanday amalga oshirilganligi va nima uchun biz mijozlarimizga ma'lumotlar xavfsizligini kafolatlashimizni aytib beramiz.

Apache va Nginx. Bitta zanjir bilan bog'langan (2-qism)
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 maqolaning birinchi qismi.

Apache va Nginx. Bitta zanjir bilan bog'langan (2-qism)
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 mpm-itk. Bu har bir VirtualHost-ga o'z foydalanuvchi identifikatori va guruh identifikatori bilan ishlashga imkon beradi.
Apache va Nginx. Bitta zanjir bilan bog'langan (2-qism)
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 birinchi qism bizning maqolamiz. Bundan tashqari, u erda Dedicated sxema orqali muqobil konfiguratsiya ham tasvirlangan.

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

a Izoh qo'shish