Cara Memasang Nginx dengan PHP-FPM pada CentOS 8

Cara Memasang Nginx dengan PHP-FPM pada CentOS 8

Cara Biasa untuk menjalankan PHP dengan Nginx adalah modul Fastcgi. PHP-FPM (Pengurus Proses FastCGI) secara dramatik meningkatkan prestasi persekitaran NGINX/PHP anda. Jadi ini berguna untuk laman web beban tinggi. Tutorial ini akan membantu anda mengkonfigurasi php-fpm dengan nginx pada sistem centos 8 dan rhel 8 linux.

Prerequsities

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

Langkah 1 - Pasang nginx

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

SUDO DNF UPDATE SUDO DNF Pasang Nginx 

Selepas pemasangan pakej bermula perkhidmatan nginx, juga membolehkan perkhidmatan nginx untuk memulakan auto pada boot sistem.

sudo systemctl enable nginx sudo systemctl start nginx 

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:

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

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

Kemudian tetapkan pengguna dan kumpulan sama seperti pelayan Nginx 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 www-data = www-data dengar.dibenarkan_clients = 127.0.0.1 Dengar.pemilik = www-data dengar.kumpulan = www-data dengar.mod = 0660 pm = dinamik
1234567891011; Dengar = 127.0.0.1: 9000Listen =/run/php-fpm/www.Pengguna Sock = www-Datagroup = www-Data Dengar.dibenarkan_clients = 127.0.0.1Listen.pemilik = www-datalisten.kumpulan = www-datalisten.mod = 0660pm = dinamik

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

SUDO Systemctl Mulakan semula PHP-FPM 

Langkah 4 - Buat blok pelayan nginx

Sekarang, buat blok pelayan di nginx untuk domain anda dan konfigurasikannya untuk menggunakan php-fpm untuk memproses fail php. Buat fail blok pelayan dan edit dalam editor teks:

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

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

pelayan mendengar 80 default_server; Contoh Server_name.com www.Contoh.com; root/var/www/html; # Muatkan fail konfigurasi untuk blok pelayan lalai. Sertakan/etc/nginx/lalai.d/*.Con; lokasi / lokasi ~* \.php $ # dengan php-fpm unix socket fastcgi_pass unix:/run/php-fpm/www.kaus kaki; termasuk fastcgi_params; fastcgi_param script_filename $ document_root $ fastcgi_script_name; fastcgi_param script_name $ fastcgi_script_name;
12345678910111213141516171819pelayan mendengar 80 default_server; Contoh Server_name.com www.Contoh.com; root/var/www/html; # Muatkan fail konfigurasi untuk blok pelayan lalai. Sertakan/etc/nginx/lalai.d/*.Con; lokasi / lokasi ~* \.php $ # dengan php-fpm unix socket fastcgi_pass unix:/run/php-fpm/www.kaus kaki; termasuk fastcgi_params; fastcgi_param script_filename $ document_root $ fastcgi_script_name; fastcgi_param script_name $ fastcgi_script_name;

Simpan fail konfigurasi blok pelayan dan mulakan semula perkhidmatan nginx untuk menggunakan perubahan.

sudo systemctl mulakan semula nginx 

Langkah 5 - Dayakan peraturan firewall

Pelayan anda sudah bersedia untuk menyediakan aplikasi. Sekiranya terdapat firewall yang didayakan pada sistem anda, pastikan port HTTP dibuka untuk mengakses 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 blok pelayan nginx.

http: // localhost/info.php 

Luncurkan halaman dan semak nilai $ _server ['Server_Software'] di bawah bahagian pembolehubah PHP. Ini akan menunjukkan nama pelayan web yang berjalan.

Kesimpulan

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