FastCGI, PHP-FPM là gì?

PHP Handler là module của web server, dùng để dịch và chạy website PHP. Có nhiều handler cho PHP hiện nay như: DSO, CGI, SuPHP, FastCGI.
FastCGI là phiên bản kế tiếp của CGI, ít tốn tài nguyên CPU và cho tốc độ tải trang php cao, với điều kiện cần một lượng RAM đủ lớn. FastCGI cho phép máy chủ xử lý được nhiều web page hơn tại cùng một thời điểm.
PHP-FPM giúp quản lý tiến trình PHP FastCGI. PHP-FPM là daemon do đó chúng ta có thể cài nó độc lập trên một server, default port là 9000.

Cài đặt và cấu hình Apache với PHP-FPM cho PHP 7

Hãy chắc chắn rằng server CentOS 7 của bạn đang được cập nhật mới nhất, hoặc gõ lệnh sau để cập nhật và cài phần mềm cần thiết:

yum update -y && yum install nano yum-utils -y

Vô hiệu hoá SELinux theo bài viết: Cách vô hiệu hóa SELinux trên CentOS

Cài đặt Apache Web Server

Các bước cài đặt Apache web server bạn có thể tham khảo tại bài viết: Cài đặt LAMP trên CentOS 7

Kiểm tra hoạt động của dịch vụ Apache Web server:

systemctl status httpd.service

Cấu hình Apache MPM

Để Apache web server phục vụ PHP với FastCGI và PHP-FPM cho hiệu suất cao nhất cần kết hợp Apache sử dụng Event MPM. Bạn tham khảo bài viết: Cấu hình Apache MPM (CentOS 7)

Kiểm tra phiên bản Apache và MPM đang hoạt động:

apachectl -V |grep -i 'version\|MPM'

Server version: Apache/2.4.6 (CentOS)
Server MPM: event

 

Cài đặt và cấu hình PHP FastCGI, PHP-FPM

PHP 7 cho tốc độ thực thi code nhanh hơn và hiện đã được sử dụng rộng rãi. Vì vậy bài viết sẽ cài đặt và cấu hình Apache-2.4 với php-fpm cho PHP 7.

Cài đặt và kích hoạt EPEL và Remi repository trên hệ thống CentOS 7:

yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Sử dụng một trong những lệnh bên dưới để cài đặt PHP 7.0, PHP 7.1, PHP 7.2 hoặc PHP 7.3.

Ở đây tôi sử dụng PHP 7.3:

#Trước tiên hãy tắt remi-php54
sudo yum-config-manager --disable remi-php54

## Install PHP 7.3 
sudo yum-config-manager --enable remi-php73

## Install PHP 7.2 
sudo yum-config-manager --enable remi-php72

## Install PHP 7.1 
sudo yum-config-manager --enable remi-php71

Cài đặt module php và php-fpm:

yum -y install php php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json php-pdo php-pecl-apcu php-pecl-apcu-devel

Kiểm tra phiên bản PHP đã cài đặt:

php -v

Chạy lệnh sau Cấu hình Apache để hỗ trợ PHP FastCGI:

cat >>/etc/httpd/conf.d/php.conf <<EOF
<FilesMatch \.php$>
     SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
EOF

Start & enable PHP-FPM:

systemctl start php-fpm
systemctl enable php-fpm

Khởi động lại Apache Service:

systemctl restart httpd

 

Kiểm tra hoạt động

Thư mục gốc web mặc định của Apache là /var/www/html. Ta tạo một tệp PHP (info.php) trong thư mục này để kiểm tra Apache xử lý PHP.

File info.php sẽ hiển thị thông tin chi tiết phiên bản PHP mà chúng ta cài đặt.

nano /var/www/html/info.php

Dán nội dung sau vào file:

<?php
    phpinfo();
?>

Lưu lại.

Bây giờ các bạn mở trình duyệt lên và gõ địa chỉ: http://your-ip-address/info.php, nếu kết quả hiện thị như hình dưới là việc cài đặt của chúng ta đã thành công.

Chúc các bạn thành công!

Tagged:

Leave a Reply

Your email address will not be published. Required fields are marked *