Apache & Nginx. Diikat oleh satu rantai (bagian 2)

Minggu lalu, di bagian pertama artikel ini, kami menjelaskan bagaimana bundel Apache dan Nginx dibuat di Timeweb. Kami sangat berterima kasih kepada para pembaca atas pertanyaan dan diskusi aktif mereka! Hari ini kami akan memberi tahu Anda bagaimana ketersediaan beberapa versi PHP di satu server diwujudkan dan mengapa kami menjamin keamanan data kepada klien kami.





Virtual Hosting (Shared-hosting) berarti satu server, sejumlah akun klien. Akun satu klien, biasanya, berisi beberapa situs. Situs web berfungsi baik pada CMS yang sudah jadi (misalnya, Bitrix) dan pada CMS khusus. Dengan demikian, persyaratan teknis untuk semua sistem berbeda-beda, oleh karena itu, diperlukan pengelolaan beberapa versi PHP dalam satu server.



Kami menggunakan Nginx sebagai server web utama: ini menerima semua koneksi dari luar dan menyajikan konten statis. Kami mem-proxy sisa permintaan lebih jauh ke server web Apache. Di sinilah keajaiban dimulai: untuk setiap versi PHP, instance Apache terpisah dimulai, mendengarkan pada port tertentu. Porta ini terdaftar di host virtual situs klien.



Anda dapat membaca tentang pekerjaan skema Bersama lebih detail di bagian pertama artikel .





Skema bersama



Penting untuk dicatat bahwa kami meletakkan paket PHP di bawah versi yang berbeda, karena biasanya semua distribusi hanya memiliki satu versi PHP.



Keselamatan pertama!



Salah satu tugas utama shared hosting adalah memastikan keamanan data pelanggan. Akun yang berbeda, berada di satu server, independen dan independen. Bagaimana itu bekerja?



File situs disimpan di direktori beranda pengguna itu sendiri, dan jalur yang diperlukan ditentukan di host virtual server web. Dalam melakukannya, server web, Nginx dan Apache, harus memiliki akses ke file akhir dari klien tertentu, karena server web diluncurkan hanya dari satu pengguna.



Nginx menggunakan patch keamanan yang dikembangkan oleh tim Timeweb: patch ini mengubah pengguna ke yang ditentukan di file konfigurasi server web.



Penyedia hosting lain dapat mengatasi masalah ini, misalnya, melalui manipulasi dengan hak sistem file yang diperpanjang (ACL).



Apache menggunakan modul multiprosesing mpm-itk . Ini memungkinkan setiap VirtualHost untuk berjalan dengan ID pengguna dan ID grupnya sendiri.



Karenanya, berkat operasi yang dijelaskan di atas, kami mendapatkan lingkungan terisolasi yang aman untuk setiap klien. Pada saat yang sama, kami juga menyelesaikan masalah penskalaan untuk Hosting bersama.



Anda dapat membaca bagaimana pengikatan Apache dan Nginx diimplementasikan di bagian pertama artikel kami. Selain itu, konfigurasi alternatif melalui skema Dedicated juga dijelaskan di sana.



Jika Anda masih memiliki pertanyaan untuk pakar kami, tulis di komentar. Kami akan mencoba menjawab semuanya atau menjelaskan solusi untuk masalah tersebut secara lebih detail di artikel berikut.



All Articles