Rumah >pembangunan bahagian belakang >tutorial php >Susun dan ringkaskan bahagian kebenaran nginx, php-fpm, mysql, dll.
Artikel ini akan membincangkan tentang pengetahuan asas PHP dan memberi anda pemahaman yang mendalam tentang kebenaran pengguna nginx, php-fpm dan mysql. Saya harap ia akan membantu semua orang!
Biasanya, pelayan yang kami jalankan aplikasi web termasuk pengedaran Linux seperti CentOS, Ubuntu, Debian, dll. Pada masa ini, kawalan kebenaran Nginx, PHP, MySQL dan aplikasi lain yang diperlukan untuk membentuk seni bina perkhidmatan menjadi sangat penting Setiap perkhidmatan mempunyai keperluan kebenaran yang berbeza untuk direktori kod perkhidmatan tidak boleh membaca atau menulis atau Ralat operasi, keperluan kebenaran yang lebih rendah dan risiko pencerobohan dan pengubahsuaian . Di sini kami akan meringkaskan bahagian kebenaran perkhidmatan seperti nginx, php-fpm dan mysql.
Rangka kerja PHP biasanya digabungkan dengan Nginx untuk membentuk LNMP atau digabungkan dengan Apache untuk membentuk seni bina LAMP Di sini, Nginx digunakan sebagai contoh untuk menerangkan apa yang diperlukan untuk menjalankan perkhidmatan Nginx.
Kami tahu bahawa Nginx sendiri tidak boleh menghuraikan sintaks PHP, jadi Nginx akan menghuraikan secara langsung dan mengembalikan hasil untuk fail statik (seperti HTML, dll.), tetapi untuk fail PHP, Nginx akan memindahkannya ke php penterjemah PHP -fpm Proseskannya, dan kemudian kembalikan respons kepada pelayar klien selepas diproses.
Oleh itu, kami perlu menyatukan kebenaran yang diperlukan untuk perkhidmatan Nginx dan PHP dalam direktori kod kami.
① Jika pengguna root digunakan secara seragam, akaun tetamu umum tidak akan dapat mengakses aplikasi Jika nginx dikonfigurasikan untuk dijalankan sebagai root, akan ada risiko keselamatan yang besar identiti akar akan diperolehi Semua operasi sistem.
② Jika semua kebenaran direktori kod ditetapkan kepada rwxrwxrwx, terdapat bahaya tersembunyi bahawa pengguna boleh mengubah suai direktori kod terus melalui penyemak imbas.
Jadi cara terbaik ialah mengklasifikasikan mereka ke dalam kumpulan pengguna baharu, dan memberikan kumpulan pengguna kebenaran yang diperlukan untuk menjalankan Nginx dan PHP untuk mencapai kebenaran untuk pengurusan Direktori. Biasanya, banyak pasukan akan menamakan kumpulan pengguna ini www, Pengguna www akan mengurus kebenaran direktori kod secara seragam.
Kita dapat melihat bahawa kebenaran berjalan yang dibahagikan dalam fail konfigurasi Nginx nginix.conf
dikonfigurasikan di bawah pengguna www, jadi proses anak Nginx juga dilaksanakan oleh pengguna www, yang boleh dilihat melalui ps aux | grep nginx
:
Anda boleh melihat bahawa proses utama nginx ialah root, dan sub-proses lain adalah semua pengguna www
nginx. konfigurasi conf:
Begitu juga, PHP juga dijalankan oleh akar proses utama, dalam anak. kumpulan proses (pool) Konfigurasi di dalam dilaksanakan oleh pengguna www. Konfigurasi khusus berada di bawah <code><span style="color: rgb(192, 0, 0);">etcphp-fpm.conf</span>
etcphp-fpm.conf
user = www group = www
, anda juga boleh menggunakan ps aux | grep php
untuk melihat identiti pengguna yang digunakan oleh proses:
melalui ps aux | grep mysql
Anda boleh melihat bahawa perkhidmatan MySQL berjalan di bawah pengguna mysql Perkhidmatan hanya memerlukan kami membawa nama pengguna dan kata laluan mysql apabila kod php bersambung ke mysql Ia tidak perlu disatukan ke www , kerana lapisan data perlu diasingkan daripada lapisan logik perniagaan untuk memastikan keselamatan data asas. Keizinan mysql adalah terutamanya untuk menambah pengguna baharu dan membahagikan kebenaran dalam perkhidmatan mysql, yang digunakan untuk mengawal perniagaan PHP yang berbeza untuk berhubung dengan identiti dengan julat kebenaran yang berbeza untuk memastikan keselamatan data.
konfigurasi nginx:
user www www;
php-fpm:
<.>
user = www group = wwwDirektori:
drwxr-xr-x 就是755Pembelajaran yang disyorkan: "
Tutorial Video PHP"
Atas ialah kandungan terperinci Susun dan ringkaskan bahagian kebenaran nginx, php-fpm, mysql, dll.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!