PHP-FPM là gì? Hướng dẫn Cấu hình PHP-FPM và NGINX 2023

II. Các tính năng chính của PHP-FPM là gì ?

PHP-FPM là gì? Cấu hình PHP-FPM và NGINX – Bài viết này, chúng ta hãy cùng tìm hiểu về PHP-FPM là gì cũng như điểm mạnh/yếu của PHP-FPM là gì và cách cấu hình PHP-FPM, NGINX để sử dụng nó hiệu quả nhất. Hãy bắt đầu nào !!

Xem thêm : 10 PHP Framework tốt nhất để lập trình web 2020

I. PHP-FPM là gì?

PHP là ngôn ngữ lập trình mã nguồn mở, được dùng để viết cho máy chủ hay các mục đích tổng quát khác. Ngôn ngữ lập trình này có dạng 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 sánh với các ngôn ngữ lập trình khác.

PHP-FPM là một chương trình có năng lực phiên dịch PHP khi chạy Website cho server. PHP-FPM được tăng trưởng dựa trên việc lan rộng ra CGI .
PHP-FPM hoàn toàn có thể khớp quy trình giải quyết và xử lý nội dung của trang Web server và tương hỗ xử lý thông tin một cách nhanh gọn từ những Website không giống nhau, trong cùng một khoảng chừng thời hạn. PHP-FPM được phần đông người dùng lựa chọn bởi vận tốc giải quyết và xử lý PHP script nhanh, tăng lượng truy vấn và tính năng tối ưu hóa cho những Website có kích cỡ lớn .
php-fpm là gì

PHP-FPM và Nginx

Nginx là sự kết hợp lý tưởng với PHP-FPM. Tại sao ? Bởi vì nó là một sever web không thay đổi được công nhận về hiệu suất ấn tượng và mức tiêu thụ tài nguyên thấp .
Nó có cấu trúc không đồng nhất có năng lực lan rộng ra cao, theo những sự kiện. Trên hết, hiệu suất tiêu thụ bộ nhớ tốt hơn đáng kể khi sử dụng Nginx và PHP-FPM cùng nhau .
PHP chạy như một dịch vụ khác biệt khi bạn sử dụng PHP-FPM. Việc sử dụng phiên bản PHP này làm trình thông dịch ngôn từ có nghĩa là những nhu yếu sẽ được giải quyết và xử lý qua cổng TCP / IP và sever Nginx chỉ giải quyết và xử lý những nhu yếu HTTP, trong khi PHP-FPM thông dịch mã PHP. Việc tận dụng hai dịch vụ riêng không liên quan gì đến nhau là rất quan trọng để trở nên hiệu suất cao hơn .

II. Các tính năng chính của PHP-FPM là gì?

PHP-FPM bao gồm nhiều tính năng có thể tỏ ra có lợi cho các trang web nhận được lưu lượng truy cập với khối lượng lớn thường xuyên. Đó là:

  • Khả năng khởi động làm việc bằng nhiều uid / gid / chroot / environment và php.ini, thay thế chế độ an toàn mà người dùng có thể mong đợi
  • Quản lý chuyên sâu để xử lý dừng / bắt đầu đơn giản
  • Ghi nhật ký stdout và stderr
  • Khởi động lại khẩn cấp có sẵn, trong trường hợp bộ nhớ cache opcode vô tình bị phá hủy
  • Hỗ trợ tải lên nhanh hơn
  • Dựa trên tệp cấu hình php.ini
  • Cấu hình biến Slowlog để phát hiện các hàm mất nhiều thời gian hơn bình thường để thực thi
  • Cải tiến FastCGI, với chức năng đặc biệt để dừng và tải xuống dữ liệu trong khi hoàn thành các quy trình dài (ví dụ: xử lý thống kê)
  • Số liệu thống kê cơ bản có sẵn, tương tự như mô-đun trạng thái mod trong Apache

III. Thiết lập NGINX và PHP-FPM

Hướng dẫn thiết lập PHP-FPM và Nginx

NGINX là ứng dụng Web server mã nguồn mở, sử dụng cấu trúc hướng sự kiện ( event-driven ) không đồng nhất ( asynchronous ). Mục tiêu khởi đầu để Giao hàng HTTP cache tuy nhiên sau được vận dụng vào reverse proxy, HTTP load balancer và những giao thức truyền mail như IMAP4, POP3, và SMPT .

Thiết lập NGINX

Bước 1: Để cài đặt cấu trúc NGINX quý khách hàng mở tệp cấu trúc của NGINX tại mục /etc/nginx/nginx.conf

Bước 2: Xem chỉ số CPU Core theo công thức:

cat /proc/cpuinfo |grep processor

processor :0processor :1processor :2processor :3

Bước 3: Vận dụng lệnhmax_clients = worker_processes * worker_connections để thay đổi thông số worker_processes tương ứng với số lượng nhân CPU trong máy chủ bạn cấu trúc.

Bước 4: Giới hạn kích thước từng phần của các http request bằng công thức:

client_max_body_size 20m;client_body_buffer_size 128k;

Bước 5: Điều chỉnh lại các file tĩnh qua công thức:

location ~*.(jpg|jpeg|gif|png|css|js|ico|xml)$ access_log    off;log_not_found   off;expires 360d;

Bước 6: Thiết lập chuyển sang dùng unix socket cho việc giới thiệu thông tin:

location ~*.php$ fastcgi_index  index.php;#Chinh tai dayfastcgi_pass  unix:/var/run/php-fpm/php-fpm.sock;include     fastcgi_params;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;fastcgi_param  SCRIPT_NAME    $fastcgi_script_name;

Bước 7: Cài đặt bỏ cho phép truy cập các tệp hoặc thư mục ẩn.

location ~/.access_log off;log_not_found off;deny all;

Thiết lập PHP-FPM

Bước 1: Để thiết lập cấu tạo PHP-FPM, quý khách hàng mở tệp cấu trúc của PHP-FPM tại mục /etc/php-fpm.d.

Bước 2: xoay chỉnh đường dẫn file sock theo công thức:

listen =/var/run/php-fpm/php-fpm.sock

user = sitegroup= site

request_slowlog_timeout =5sslowlog =/var/log/php-fpm/slowlog-site.log

listen.allowed_clients =127.0.0.1pm =dynamicpm.max_children =5pm.start_servers =3pm.min_spare_servers =2pm.max_spare_servers =4pm.max_requests =200listen.backlog =-1pm.status_path =/status

request_terminate_timeout =120srlimit_files =131072rlimit_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ố: 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ó thể tại (bằng với tổng số request hoàn toàn 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ì.

Bảo mật PHP-FPM/Nginx trong môi trường Shared Hosting

Bảo mật PHP-FPM/Nginx trong môi trường Shared Hosting giúp quá trình sử dụng được dễ dàng hơn
Vấn đề bảo mật thông tin PHP-FPM / Nginx trong thiên nhiên và môi trường Shared Hosting là một điều cực kỳ quan trọng. Khi truy vấn một Web PHP, quý khách cần thiết lập một Pool cho từng Web để những script PHP thực thi như một hoặc một nhóm người sử dụng được định nghĩa trong đó .

Điều này không chỉ có vai trò quan trọng trong lúc tuyệt mật, mà còn bảo đảm quá trình dùng được đơn giản, thuận lợi hơn. Vì khi tạo lập một Pool, khách hàng có thể dùng toàn bộ khả năng trên suPHP cho PHP-FPM/Nginx. Bạn không cần cài đặt bất kỳ FTP nào, cũng như những sự cố bất ngờ có thể xảy ra do vận dụng các script PHP không thuộc quyền sở hữu của một hoặc một nhóm khách hàng riêng biệt.

Thực tế vào thời gian hiện tại, quy mô Shared Hosting chỉ thích hợp với những landing page. Vì thế nếu bạn đang sử dụng Shared Hosting cho Website của mình, chúng tôi khuyên bạn nên chuyển qua mua Cloud Hosting. Bởi Cloud Hosting bảo mật thông tin hơn Shared Hosting và năng lực lan rộng ra, up-time cũng tốt hơn nhiều khi so sánh với Shared Hosting .

Kết

Như vậy, bạn đã biết được PHP-FPM là gì, điểm mạnh của PHP-FPM là gì và điểm yếu của PHP-FPM là gì. Ngoài ra, bạn còn biết được cách thiết lập PHP-FPM và Nginx. Cảm ơn những bạn đã theo dõi. Chúc những bạn thành công xuất sắc ! !

XEM THÊM:

> Hướng dẫn chạy PHP trên XAMPP cụ thể [ 2021 ]
> [ Hướng dẫn ] Fix lỗi 403 Forbidden Nginx đơn thuần cho website 2021
> API PHP là gì ? Những đặc thù cơ bản của API
> 10 PHP Framework tốt nhất để lập trình web 2020

ATPWEB – XÂY DỰNG NGÔI NHÀ ONLINE

Liên hệ :

  • hotline : 0707 6666 56
  • Fanpage : http://facebook.com/atpweb.vn
  • Website : http://atpweb.vn

Cảm ơn bạn đã nhìn nhận bài viết