Cara Memasang Apache dengan PHP-FPM pada CentOS 8

Cara Memasang Apache dengan PHP-FPM pada CentOS 8

Cara Biasa untuk menjalankan PHP dengan Apache adalah modul mod_php. Tetapi php-fpm mempunyai beberapa kelebihan mengenai perkara ini. PHP-FPM (Pengurus Proses FastCGI) secara dramatik meningkatkan prestasi persekitaran Apache/PHP anda. Jadi ini berguna untuk laman web beban tinggi. Tutorial ini akan membantu anda mengkonfigurasi PHP-FPM dengan Apache pada sistem CentOS 8 dan RHEL 8 Linux.

Prerequsities

  • Akses Shell ke Sistem CentOS 8 dengan Akaun Keistimewaan Sudo.
  • Lengkapkan persediaan pelayan awal untuk sistem yang baru dipasang.

Langkah 1 - Pasang Apache

Pakej Apache boleh didapati di bawah repositori AppStream lalai. Anda hanya boleh mengemas kini cache DNF dan memasang pakej pelayan web Apache menggunakan arahan berikut.

SUDO DNF UPDATE SUDO DNF Pasang HTTPD HTTPD-TOOLS MOD_SSL 

Pakej Mod_SSL menyediakan fungsi untuk menggunakan sijil SSL untuk HTTP selamat. Selepas pemasangan, aktifkan perkhidmatan HTTPD dan mulakan.

sudo systemctl enable httpd sudo systemctl start httpd 

Langkah 2 - Pasang PHP dengan PHP -FPM

Repositori REMI mengandungi pakej PHP terkini untuk sistem CentOS 8 Linux. Jadi pertama sekali, anda perlu menambah repositori REMI ke sistem anda. Cukup laksanakan arahan berikut untuk menambah repositori.

SUDO DNF Pasang DNF-UTILS http: // rpms.remirepo.Bersih/Enterprise/Remi-Release-8.rpm 

Kemudian aktifkan modul DNF yang diperlukan untuk pemasangan PHP. Di sini kami membolehkan modul untuk memasang Php 7.4. Anda boleh mengubahnya menjadi php 7.3 atau Php 7.2 mengikut keperluan anda.

SUDO DNF Modul Reset PHP SUDO DNF Modul Dayakan PHP: REMI-7.4 

Sekarang, pasang PHP pada sistem anda. Kerana kami akan menggunakan Pengurus Proses Fastcgi (FPM) untuk persediaan ini. Oleh itu, pasangkan pakej php-fpm juga.

SUDO DNF UPDATE DNF Pasang PHP PHP-FPM PHP-GD PHP-MYSQLND 

Anda juga mungkin memerlukan lebih banyak modul PHP, jadi pasangkannya sebelum pergi seterusnya. Setelah melengkapkan pemasangan PHP membolehkan perkhidmatan php-fpm dan mulakannya.

SUDO Systemctl Membolehkan PHP-FPM SUDO Systemctl Mula PHP-FPM 

Pastikan perkhidmatan php-fpm berjalan.

status SUDO Systemctl PHP-FPM ● PHP-FPM.Perkhidmatan - Pengurus Proses FastCGI PHP dimuatkan: dimuatkan (/usr/lib/systemd/system/php -fpm.perkhidmatan; dilumpuhkan; Pratetap Vendor: Dilumpuhkan) Aktif: Aktif (Running) Sejak MON 2019-12-09 21:44:57 PST; 1h 24min lalu PID Utama: 29280 (PHP-FPM) Status: "Proses Aktif: 0, Idle: 5, Permintaan: 3, Lambat: 0, Trafik: 0REQ/SEC" Tugas: 6 (Had: 10321) Memori: 24.6m cgroup: /sistem.Slice/PHP-FPM.Perkhidmatan ├─29280 PHP-FPM: Proses Master (/etc/PHP-FPM.conf) ├─29281 php-fpm: kolam www ├─29282 php-fpm: kolam www ├─29283 php-fpm: kolam www ├─29284 php-fpm: kolam www └─ : 44: 57 Tecadmin.Contoh.com Systemd [1]: Memulakan Pengurus Proses PHP Fastcgi ... 09 Dis 21:44:57 Tecadmin.Contoh.com Systemd [1]: Memulakan Pengurus Proses PHP Fastcgi. 

Langkah 3 - Konfigurasikan PHP -FPM

Pada langkah ini, anda telah memasang semua pakej yang diperlukan. Mari mulakan proses konfigurasi. Pertama, edit fail konfigurasi PHP-FPM untuk Apache:

sudo vim /etc /php-fpm.D/www.Conf 

Buat perubahan seperti di bawah. Versi terbaru Apache boleh menyambung ke soket menggunakan proksi. Oleh itu, pastikan Dengar ditetapkan ke fail soket.

Kemudian tetapkan pengguna dan kumpulan sama seperti pelayan Apache menggunakan. Sekiranya anda perlu menyambungkan FPM dari perubahan sistem jauh, dengar.dibenarkan_clients ke lan ip dan bukannya 127.0.0.1.

; Dengar = 127.0.0.1: 9000 Dengar =/run/php-fpm/www.Pengguna Sock = Kumpulan Apache = Apache Dengar.dibenarkan_clients = 127.0.0.1 Dengar.pemilik = apache mendengar.kumpulan = apache mendengar.mod = 0660 pm = dinamik
1234567891011; Dengar = 127.0.0.1: 9000Listen =/run/php-fpm/www.Pengguna Sock = ApacheGroup = Apache Dengar.dibenarkan_clients = 127.0.0.1Listen.pemilik = Apachelisten.kumpulan = Apachelisten.mod = 0660pm = dinamik

Setelah membuat perubahan mulakan semula perkhidmatan php-fpm untuk menerapkan perubahan.

SUDO Systemctl Mulakan semula PHP-FPM 

Langkah 4 - Buat Apache VirtualHost

Sekarang, waktunya adalah untuk mengkonfigurasi Apache untuk menggunakan php-fpm untuk memproses fail php. Berikut adalah dua pilihan, sama ada anda menggunakan FPM sebagai lalai untuk semua tuan rumah maya atau anda boleh mengkonfigurasi hos maya secara khusus untuk menggunakan FPM. Dengan cara ini, tuan rumah maya lain tidak akan terjejas.

Untuk contoh ini, saya mengkonfigurasi FPM untuk tuan rumah maya tertentu sahaja. Jadi fail konfigurasi yang diedit dalam editor teks:

sudo vim/etc/httpd/conf.d/contoh.com.Conf 

Kini ditambahkan konfigurasi proksi menggunakan fail soket. Juga dikonfigurasikan semua skrip PHP untuk menggunakan pengendali FPM untuk pelaksanaan.

Contoh [email protected] Documentroot/var/www/html ServerName Contoh.com serveralias www.Contoh.Com # Proxy Declaration # kita mesti mengisytiharkan parameter di sini (tidak kira yang) atau # ia tidak akan mendaftarkan proksi lebih awal daripada proxyset masa distableuse = off # nota: Jika anda mengkonfigurasi php-fpm untuk menggunakan "pm = OnDemand "#Then Use" Proxyset DisableReuse = On "Sethandler Proxy: FCGI: // php-fpm errorlog log/contoh.com-ralat.Log log/contoh CustomLog.Com-Access.log digabungkan
12345678910111213141516171819202122232425 Contoh [email protected] Documentroot/var/www/html ServerName Contoh.com serveralias www.Contoh.com # deklarasi proksi # kita mesti mengisytiharkan parameter di sini (tidak kira yang) atau # tidak akan mendaftarkan proksi lebih awal daripada proxyset disableReuse = OFF # NOTA: Jika anda mengkonfigurasi PHP-FPM untuk menggunakan "PM = OnDemand" #THEN Gunakan "Proxyset DisableReuse = On" Sethandler Proxy: FCGI: // PHP-FPM Log/contoh errorlog.com-ralat.Log log/contoh CustomLog.Com-Access.log digabungkan

Simpan fail konfigurasi hos maya dan tambah semula Apache untuk memohon perubahan.

SUDO Systemctl Mulakan semula httpd 

Langkah 5 - Dayakan peraturan firewall

Pelayan anda sudah bersedia untuk menyediakan aplikasi. Sekiranya terdapat firewall yang didayakan pada sistem anda, pastikan port Apache terbuka untuk diakses dari sistem jauh.

Perintah berikut akan membuka port yang diperlukan untuk anda.

sudo firewall-cmd-zone = public --permanent --add-service = http sudo firewall-cmd --zone = public --permanent --add-service = https sudo firewall-cmd--reload 

Langkah 6 - Persediaan Ujian

Semua selesai. Untuk menguji persekitaran, buat skrip PHP dengan phpinfo () fungsi. Letakkan fail ini ke root dokumen pelayan anda. Gunakan arahan di bawah untuk melakukan ini.

echo "">/var/www/html/info.php 

Kemudian akses maklumat.PHP Menggunakan Alamat IP Pelayan (Untuk Default VirtualHost) untuk domain yang dikonfigurasikan anda di Apache VirtualHost.

http: // localhost/info.php 

Kesimpulan

Anda telah berjaya mengkonfigurasi Apache dengan PHP-FPM pada sistem CentOS 8 atau RHEL 8 Linux anda. Anda kini boleh menjadi tuan rumah laman web dari pelayan anda.