Cách cấu hình Nginx để xử lý các yêu cầu PHP sử dụng FastCGI hoặc PHP-FPM

Khi triển khai ứng dụng PHP với Nginx, chúng ta cần cấu hình Nginx để xử lý các yêu cầu PHP bằng cách sử dụng FastCGI hoặc PHP-FPM. FastCGI và PHP-FPM là các công nghệ phổ biến để kết nối Nginx với trình thông dịch PHP. Trong bài viết này, chúng ta sẽ tìm hiểu cách cấu hình Nginx để xử lý các yêu cầu PHP sử dụng FastCGI hoặc PHP-FPM.

Cài đặt PHP và FastCGI hoặc PHP-FPM

Đầu tiên, bạn cần cài đặt PHP và FastCGI hoặc PHP-FPM trên máy chủ của bạn. Quá trình cài đặt có thể khác nhau tùy thuộc vào hệ điều hành bạn đang sử dụng. Sau khi cài đặt, đảm bảo rằng PHP và FastCGI hoặc PHP-FPM đang hoạt động chính xác trên hệ thống của bạn.

Nginx Tutorial - Getting started with nginx.conf - IONOS

Cấu hình Nginx để xử lý yêu cầu PHP

Bây giờ chúng ta sẽ cấu hình Nginx để xử lý các yêu cầu PHP bằng cách sử dụng FastCGI hoặc PHP-FPM. Bạn cần chỉnh sửa tệp cấu hình Nginx (thường là nginx.conf hoặc một tệp cấu hình phụ) và thêm các dòng sau:

1. Sử dụng FastCGI:

http {
server {
...
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}

 

Trong ví dụ này, chúng ta đã sử dụng directive “fastcgi_pass” để chỉ định địa chỉ IP và cổng mà FastCGI đang lắng nghe (thường là 127.0.0.1:9000). Đối với các tệp tin PHP, chúng ta đã chỉ định “fastcgi_index” là index.php và “fastcgi_param” để truyền các thông số FastCGI cần thiết. Cuối cùng, chúng ta đã bao gồm tệp fastcgi_params để sử dụng các thông số cấu hình mặc định cho FastCGI.

What is Nginx? Understanding the basics of Nginx in 2021 ! | by DevopsCurry  | DevopsCurry | Medium

2. Sử dụng PHP-FPM:

http {
server {
...
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}

 

Trong ví dụ này, chúng ta đã sử dụng directive “fastcgi_pass” để chỉ định đường dẫn socket của PHP-FPM (thường là unix:/run/php-fpm.sock). Phần còn lại của cấu hình giống như khi sử dụng FastCGI.

Nginx | Grafana Labs

Kiểm tra và khởi động lại Nginx

Sau khi cấu hình xong, bạn nên kiểm tra cú pháp của tệp cấu hình Nginx để đảm bảo không có lỗi. Bạn có thể sử dụng lệnh sau để kiểm tra:

sudo nginx -t

 

Nếu không có lỗi, hãy khởi động lại Nginx để áp dụng cấu hình mới:

sudo service nginx restart

 

Hoặc

sudo systemctl restart nginx

 

Quá trình này sẽ khởi động lại Nginx và áp dụng cấu hình mới của bạn.

Một vài bước để tăng cường bảo mật cho máy chủ Nginx | WhiteHat.vn

Qua bài viết này, chúng ta đã tìm hiểu cách cấu hình Nginx để xử lý các yêu cầu PHP sử dụng FastCGI hoặc PHP-FPM. Bằng cách cấu hình này, bạn có thể kết nối Nginx với trình thông dịch PHP để xử lý các yêu cầu PHP trên máy chủ của bạn.