Apache dan Nginx. Dihubungkan dengan satu rantai (bagian 2)

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

Apache dan Nginx. Dihubungkan dengan satu rantai (bagian 2)
Hosting bersama (Hosting bersama) mengasumsikan bahwa banyak akun klien dihosting di satu server. Biasanya, satu akun klien berisi beberapa situs web. Situs web berfungsi pada CMS yang sudah jadi (misalnya, Bitrix) dan yang khusus. Oleh karena itu, persyaratan teknis semua sistem berbeda, sehingga beberapa versi PHP harus dikelola dalam server yang sama.

Kami menggunakan Nginx sebagai server web utama: ia menerima semua koneksi dari luar dan menyajikan konten statis. Kami memproksi permintaan yang tersisa lebih jauh ke server web Apache. Di sinilah keajaiban dimulai: setiap versi PHP menjalankan instance Apache terpisah yang mendengarkan pada port tertentu. Port ini terdaftar di host virtual situs klien.

Anda dapat membaca lebih lanjut tentang pengoperasian skema Bersama di bagian pertama artikel.

Apache dan Nginx. Dihubungkan dengan satu rantai (bagian 2)
Skema bersama

Penting untuk diperhatikan bahwa kami menginstal paket PHP untuk versi yang berbeda, karena biasanya semua distro hanya memiliki satu versi PHP.

Keselamatan pertama!

Salah satu tugas utama shared hosting adalah menjamin keamanan data klien. Akun yang berbeda, terletak di server yang sama, bersifat independen dan mandiri. Bagaimana itu bekerja?

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

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

Bagi penyedia hosting lain, masalah ini dapat diatasi, misalnya melalui manipulasi hak sistem file yang diperluas (ACL).

Apache menggunakan modul multiprosesor untuk dijalankan mpm-itk. Ini memungkinkan setiap VirtualHost berjalan dengan ID pengguna dan ID grupnya sendiri.
Apache dan Nginx. Dihubungkan dengan satu rantai (bagian 2)
Jadi, berkat operasi yang dijelaskan di atas, kami memperoleh lingkungan yang aman dan terisolasi untuk setiap klien. Pada saat yang sama, kami juga memecahkan masalah penskalaan untuk Hosting bersama.

Bagaimana kombinasi Apache dan Nginx diimplementasikan dapat dibaca bagian pertama artikel kami. Selain itu, konfigurasi alternatif melalui skema Dedicated juga dijelaskan di sana.

Jika Anda memiliki pertanyaan untuk para ahli kami, tulis di komentar. Semuanya akan kami coba jawab atau uraikan solusi permasalahannya lebih detail pada artikel berikut ini.

Sumber: www.habr.com

Tambah komentar