PHP-FPM là gì? Cấu hình PHP-FPM như thế nào?
16/03/2020 17:00 | Luợt xem : 23
PHP là một trong những ngôn ngữ lập trình phát triển và được nhiều người lựa chọn. Rất nhiều nhà cung cấp dịch vụ cho thuê server đã tích hợp PHP-FPM vào server của mình. Việc làm này nhằm mục đích tăng khả năng bảo mật, tạo sự ổn định và nâng cao hiệu suất cho website. Hãy cùng BKNS tìm hiểu PHP-FPM là gì? Nó có ưu nhược điểm gì? Cấu hình PHP-FPM như thế nào?
Mục lục
1. PHP-FPM là gì?
PHP là ngôn ngữ lập trình mã nguồn mở, được dùng để viết cho server hay các mục đích tổng quát khác. Ngôn ngữ lập trình này có cú pháp giống với Java hay C. Thời gian ngắn để viết các cú pháp lập trình là yếu tố khiến PHP được ưu ái hơn so với các ngôn ngữ lập trình khác.
PHP-FPM là một chương trình có tính năng phiên dịch PHP khi chạy website cho server. PHP-FPM được phát triển dựa trên việc mở rộng CGI.
PHP-FPM có khả năng tối ưu quá trình xử lý thông tin của web server và hỗ trợ xử lý thông tin nhanh nhất từ các website khác nhau, trong cùng một khoảng thời gian. PHP-FPM được đông đảo người dùng lựa chọn bởi tốc độ xử lý PHP script nhanh, tăng lượng truy cập và khả năng tối ưu hóa cho những website có kích thước lớn.
2. Ưu nhược điểm của PHP-FPM
2.1 Ưu điểm của PHP-FPM
- Tính bảo mật, độ ổn định và hiệu suất mà PHP-FPM mang lại cao hơn nhiều so với CGI
- Được sử dụng rộng rãi nhất là khi khai thác tài nguyên CPU để chạy chương trình (tốn ít tài nguyên CPU)
- Giúp tăng tốc độ tải trang và việc truy cập website của người dùng trở nên dễ dàng, nhanh chóng hơn. Theo đó, lưu lượng truy cập website cũng sẽ tăng lên đáng kể
2.2 Nhược điểm của PHP-FPM
- Tiêu tốn dung lượng lớn của bộ RAM
3. Các bước cấu hình PHP-FPM
Bước 1: Tại mục /etc/php=fpm.d mở file cấu hình của PHP-FPM
Bước 2: Điều chỉnh đường dẫn file sock:
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: Xác định các thông số:
(1) pm.max_children = Số Process con tối đa được tạo
(2) pm.min_spare_servers = Tổng số Child Process nhàn rỗi tối thiểu được duy trì
(3) pm.start_servers = Tổng số Child Process được tạo khi khởi động PHP-FPM
(4) pm.max_spare_servers = Tổng số Child Process nhàn rỗi tối đa được duy trì
4. Bảo mật PHP-FPM/Nginx trong môi trường Shared Hosting
Shared Hosting là dịch vụ lưu trữ website trên server có kết nối internet. Tại đây, mỗi website sẽ có một vùng riêng biệt. Đối với những người muốn chia sẻ tổng chi phí thuê và bảo trì máy chủ thì Shared Hosting là một lựa chọn phù hợp.
Trong môi trường Shared Hosting, việc bảo mật PHP-FPM/Nginx là điều vô cùng cần thiết. Khi truy cập website PHP, bạn cần thiết lập 1 Pool cho từng website. Mục đích của việc làm này là để các script PHP thực thi như 1 hay 1 nhóm người dùng trong đó. Tạo Pool có vai trò quan trọng trong quá trình bảo mật và đảm bảo cho việc sử dụng được thuận lợi hơn.
Bài viết đã giúp bạn có được đáp án cho câu hỏi PHP-FPM là gì? Đồng thời, thông qua bài viết bạn cũng biết được ưu nhược điểm và các bước cấu hình PHP-FPM. Bạn muốn tìm hiểu thêm về dịch vụ thiết kế, quảng cáo hay lưu trữ website, hãy để lại bình luận phía dưới bài viết. Ghé thăm website https://www.bkns.vn/ thường xuyên để không bỏ lỡ những bài chia sẻ hữu ích khác nhé!