Mục lục [Ẩn]
Nếu là một lập trình viên, bạn sẽ biết máy tính và các giao tiếp trên mạng được tạo thành từ vô số các giao thức, ứng dụng, phần mềm, code. Nếu thiếu một trong số chúng việc quản lý và hoạt động của hệ thống có thể bị ảnh hưởng họăc trở lên không hiệu quả. Trong bài viết hôm nay, Nhân Hòa sẽ giới thiệu với bạn một trong những chương trình hỗ trợ xử lý thông tin quan trọng - php fpm là gì? công dụng và cách sử dụng chương trình này.
1. Bạn hiểu php fpm là gì?
Php fpm là từ viết tắt của cụm từ FastCGI Process Manager và cha đẻ của chương trình php fpm này là Andrei Nigmatulin. Bạn có thể hiểu đây 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 hiện đang được đông đảo người dùng lựa chọn vì được hình thành dựa trên sự mở rộng của CGI.
Để hiểu đơn giản Php fpm là gì? chúng 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 nhờ chức năng tối ưu quá trình xử lý thông tin của các máy chủ web.
Cùng tính năng tối ưu hoá và tốc độ xử lý PHP script nhanh 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 “đánh bật” Apache + FastCGI quen thuộc.
Xem thêm: Apache Tomcat là gì? [BÍ KÍP] Cài đặt Apache Tomcat nhanh chóng và chuyên nghiệp
2. Các loại php fpm là gì?
Nếu chỉ biết về “Php fpm là gì?” bạn sẽ không thực sự hiểu cách thức hoạt động của nó. Để hiểu rõ về cách thứ hoạt động bạn cần phải biết thêm một số PHP Handler khác. Bao gồm:
PHP Handler - DSO
DSO là một phiên bản cấu hình cũ của PHP Handler và được biết đến được biết đến như là mod_php. Bên cạnh đó DSO lại là Handler có tốc độ nhanh nhất và 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 sẽ được sở hữu bởi user ‘nobody’ nếu được tạo ra từ PHP script và chính vì thế chúng sẽ không có khả năng đọc được từ web. Nếu bạn đang sử dụng tính năng auto update hoặc upload file thông qua WordPress Interface hay dùng tính năng thì sẽ bị fail với DSO.
+ Sẽ ra sao nếu một lỗ hổng trong PHP script được tìm được bởi một hacker? Lúc đó, họ có toàn quyền 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 - PHP Handler
SuPHP cũng chạy PHP tương tự như CGI module, có điều 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.
Ư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 đó.
+ suPHP có một lợi thế bảo mật cao hơn là DSO hay CGI. Các bạn sẽ không thể thực thi được những PHP Scripts không thuộc một user cụ thể nào đó. Các scripts cũng không thể lây lan sang các tài khoản khác nếu không may một tài khoản nào đó bị đánh cắp.
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
Xem thêm: 2 cách kiểm tra phiên bản php đơn giản nhanh nhất
3. Ưu và điểm của PHP FPM là gì?
Để có cái nhìn tổng quan hơn PHP FPM là gì cũng như dễ dàng trong quá trình sử dụng, hãy cùng Nhân Hòa theo dõi phần tiếp theo để cùng tìm hiểu ưu và điểm của PHP FPM là gì nhé.
Ưu điểm khi sử dụng PHP FPM là gì?
+ Nói đến ưu điểm thì chắc chắn không thể không nhắc đến tính năng vượt trội nhất hiệu suất cao. Bên cạnh đó chúng có sự ổn định và tính bảo mật cao hơn nhiều so với CGI. Phần mềm này có thể chạy PHP Script dưới quyền sở hữu PHP Scripts đó.
+ Hơn nữa, ưu điểm khai thác rất ít tài nguyên CPU khi chạy chương trình, chính vì vậy hiện nay FastCGI ngày càng được sử dụng rộng rãi là. Do đó, PHP FPM giúp tốc độ tải trang nhanh hơn, việc truy cập của người dùng trở nên dễ dàng, từ đó lưu lượng truy cập trang web sẽ tăng cao hơn.
Nhược điểm của PHP FPM là gì?
+ Một khuyết điểm khá lớn đó chính là tiêu tốn dung lượng bộ RAM.
Nhưng chúng ta lại không thể phủ nhận những lợi ích vượt trội mà phần mềm này mang lại, vì vậy nếu người dùng có nhu cầu tạo ra một trang web có tốc độ tải cực nhanh cùng tính bảo mật cao, lại ít tốn tài nguyên CPU thì nên hiểu rõ PHP FPM là gì cũng như lựa chọn PHP-FPM nhé!
Xem thêm: PhpMyadmin là gì? Tổng quan từ A-Z PhpMyAdmin
4. Hướng dẫn cài đặt và cấu hình PHP FPM
Bước 1: Mở cấu hình Php fpm
Đầu tiên người dùng mở file cấu hình của PHP FPM tại mục “/etc/php-fpm.d” để bắt đầu thực hiện cài đặt cấu hình PHP FPM,.
Bước 2: Điều chỉnh đường dẫn file sock
Các bạn hãy áp dụng công thức dưới đây để thực hiện:
user = site
group = site
request_slowlog_timeout = 5s
slowlog = /var/log/php-fpm/slowlog-site.log
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 5
pm.start_servers = 3
pm.min_spare_servers = 2
pm.max_spare_servers = 4
pm.max_requests = 200
listen.backlog = -1
pm.status_path = /status
request_terminate_timeout = 120s
rlimit_files = 131072
rlimit_core = unlimited
catch_workers_output = yes
env[HOSTNAME] = $HOSTNAME
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
Bước 3: Thao tác xác định các thông số
pm.max_children ,pm.start_servers , pm.min_spare_servers và pm.max_spare_servers theo các công thức như sau:
+ pm.max_children = Số process con (child processes) tối đa được tạo (tương đương tổng số request có thể phục vụ).
+ pm.start_servers = Tổng số child processes được tạo khi khởi động php-fpm (được tính bằng công thức`min_spare_servers + (max_spare_servers – min_spare_servers) / 2` )
+ pm.min_spare_servers = Tổng số child process nhàn rỗi tối thiểu được duy trì.pm.max_spare_servers = Tổng số child process nhàn rỗi tối đa được duy trì.
5. Lời kết
Qua nội dung bài viết mà Nhân Hòa vừa chia sẻ, chắc hẳn các bạn có thể giải đáp thắc mắc cho câu hỏi PHP FPM là gì? Hơn thế nữa, thông qua bài viết bạn cũng biết được ưu nhược điểm và các bước thực hiện cấu hình PHP FPM.
Với PHP FPM, việc phiên dịch ngôn ngữ và tốc độ tải trang đã không còn là việc khó hiểu. Đó là lý do vì sao các nhà cung cấp dịch vụ cho thuê máy chủ hiện nay đều tích hợp PHP-FPM vào server của mình.
Nhân Hòa hy vọng các bạn có thể rút ra cho mình những kiến thức cần thiết về PHP FPM cũng như những thủ thuật nhằm tối ưu hoá trang web của mình dựa trên phần mềm này. Chúc các bạn thành công!
Quý khách hàng có nhu cầu đăng ký tên miền, đăng ký email doanh nghiệp, hosting wordpress giá rẻ, vps giá rẻ, ssl... xin vui lòng đăng ký tại Nhân Hòa để được hưởng ưu đãi giá rẻ nhất. Trân trọng!
+ Tổng đài: 1900 6680
+ Website: https://nhanhoa.com/
+ Fanpage: https://www.facebook.com/nhanhoacom
+ Chỉ đường: https://g.page/nhanhoacom
+ Chương trình khuyến mãi mới nhất: https://nhanhoa.com/khuyen-mai.html