Giải thích cho mình các thuật ngữ PHP-FPM, CGI, FastCGI là gì? Một số phần mềm khác giúp tăng tốc độ website ngoài PHP-FPM.

Bạn đang xem: Php-fpm là gì

*

*

PHP-FPM là gì?

PHP-FPM viết tắt của FastCGI Process Manager là chương trình có chức năng phiên dịch PHP khi chạy trang web cho web server.

PHP-FPM được hình thành dựa trên sự mở rộng của CGI và hiện đang được đông đảo người dùng lựa chọn. Chức năng của PHP-FPM là gì? Cùng Mắt Bão tìm hiểu nhé!

*

Về cơ bản, PHP-FPM có chức năng tối ưu quá trình xử lý thông tin của các máy chủ web, hỗ trợ việc xử lý thông tin từ nhiều trang web trong cùng một khoảng thời gian một cách nhanh nhất.

Với tốc độ xử lý PHP script nhanh cùng tính năng tối ưu hoá cho những trang web có kích thước lớn, giúp tăng lượng truy cập, PHP-FPM đang dần “soán ngôi” Apache + FastCGI quen thuộc.

CGI là gì?

CGI viết tắt của Common Gateway Interface là một phần mềm lập trình có chức năng kết nối giữa máy chủ và chương trình, dựa trên các định dạng đặc tả thông tin.

Bên cạnh đó, phần mềm lập trình CGI còn có nhiệm vụ xây dựng chương trình từ các trang web. Sau khi nhận dữ liệu từ các trang web dưới định dạng HTML, phần mềm này sẽ truyền dữ liệu đó qua cổng thông tin Inteđến máy tính của người dùng.

FastCGI là gì?

FastCGI là một giao thức phát triển mở rộng từ CGI. Mục đích chính của FastCGI là để web server tối ưu trong việc xử lý.

Xem thêm: Game Tài Xỉu – Tài Xỉu đổi Thưởng

Đồng thời giúp máy chủ có thể xử lí nhiều yêu cầu từ trang web trong cùng một lúc.

FastCGI sẽ chạy ít tốn tài nguyên CPU hơn và đạt tốc độ gần bằng DSOFastCGI sử dụng được opcode cacher như eAccelerator để load web nhanh hơn.

Các loại PHP Handler khác

Nếu chỉ biết về “PHP-FPM là gì?” hay “định nghĩa của CGI” hay “FastCGI là gì?”, bạn sẽ không thực sự hiểu cách thức hoạt động của nó. Để làm điều đó, bạn cần phải biết thêm một số PHP Handler khác. Bao gồm:

DSO là gì?

DSO được biết như là mod_php và là một phiên bản cấu hình cũ của PHP Handler. Tuy nhiên DSO lại là Handler nhanh nhất. Nó chạy PHP như một Apache Module. Điều đó có nghĩa là các PHP Script sẽ chạy dưới quyền của Apache user. Đó là user ‘nobody’.

Nhược điểm của DSO:

Tất cả file được tạo ra từ PHP script sẽ được sở hữu bởi user ‘nobody’. Nó sẽ không có khả năng đọc được từ web. Điều này khá phổ biến với người dùng WordPress. Nếu họ dùng tính năng upload file thông qua WordPress Interface hay dùng tính năng auto update thì sẽ bị fail với DSO.Vấn đề bảo mật: Điều này nằm ở việc tạo file sẽ dưới danh nghĩa người dùng ‘nobody’. Sẽ ra sao nếu một hacker tìm được một lỗ hổng trong PHP script? Họ có thể thực thi một file cùng một quyền hạn như những file hệ thống mà được đánh dấu sở hữu là ‘nobody’. Điều này làm hacker có khả năng chỉnh sửa các file hệ thống khác. Để chống lại điều này thì phải thường xuyên update PHP lên các phiên bản mới nhất.

SuPHP là gì?

SuPHP cũng chạy PHP như CGI module. SuPHP khác với CGI vì PHP scripts được gọi từ web Server sẽ được chạy dưới quyền của user sở hữu PHP scripts đó. SuPHP thông thường là một handler mặc định và được khuyến cáo bởi cPanel để chạy PHP. Với suPHP bạn sẽ có thể thấy user nào đang chạy đoạn PHP script.

Xem thêm: Bungalow Là Gì – Mẫu Nhà Bungalow đẹp đáng Tham Khảo

Ưu điểm của suPHP:

Khi bạn sử dụng công cụ upload file lên website của bạn, các file này sẽ được phân đúng quyền hạn của user đó. Upload và một vài tính năng khác của WordPress không hoạt động nếu không sử dụng suPHP hoặc FastCGISuPHP cũng cung cấp một lợi thế bảo mật hơn là DSO hay CGI. Tất cả những PHP Scripts không thuộc một user cụ thể nào đó sẽ không thể thực thi được. Hoặc user này sẽ không thể nào thực thi được các PHP Scripts của user khác. Khi một tài khoản nào đó bị đánh cắp, các scripts cũng không thể nào lây lan sang các tài khoản khác được.

Nhược điểm của suPHP:

Sử dụng CPU cao.Bạn không thể sử dụng Opcode Cache (như xCache) với suPHP.Khi sử dụng suPHP nếu CPU load cao bạn có thể chuyển lại dùng DSO hoặc FastCGI.
Chuyên mục: Hỏi Đáp