PHP-FPM là Trình quản lý quy trình nhanh cho PHP, chạy như một dịch vụ sinh ra các quy trình PHP khi cần khi các tệp tệp được yêu cầu thông qua giao diện FastCGI. Việc chuyển điều này cho PHP-FPM dẫn đến việc diễn giải các tệp PHP nhanh hơn nhiều so với việc Apache sinh ra các quy trình mới mỗi khi một trang được yêu cầu. Bạn có thể đọc thêm về nó ở đây
Hướng dẫn từng bước một
Cài đặt gói
apk thêm apache2-proxy php8-fpm
Chạy và thêm dịch vụ để khởi động
rc-service php-fpm8 bắt đầu rc-update thêm php-fpm8 rc-service apache2 bắt đầu rc-update thêm apache2
Định cấu hình Apache
Bỏ ghi chú mô-đun mpm_event và nhận xét mô-đun mpm_prefork như vậy
LoadModule mpm_event_module modules/mod_mpm_event.so #LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
Thêm các dòng sau vào /etc/apache2/httpd. conf
SetHandler "proxy:fcgi://127.0.0.1:9000"
Nhận xét các dòng sau trong /etc/apache2/conf. d/php8-mô-đun. conf
#LoadModule php_module modules/mod_php8.so #DirectoryIndex index.php index.html # # SetHandler application/x-httpd-php #
Định cấu hình PHP-FPM
Bạn có thể chỉnh sửa tệp /etc/php8/php-fpm. conf phù hợp với nhu cầu của bạn
Trong cấu hình, bạn có thể cần thay đổi người dùng và nhóm mặc định từ không ai thành người dùng khác, chẳng hạn như apache
PHP-FPM [FastCGI Process Manager] là triển khai thay thế phổ biến nhất của PHP FastCGI. PHP [viết tắt của PHP. Hypertext Preprocessor] là một trong những ngôn ngữ lập trình nguồn mở phổ biến nhất trên Internet, được sử dụng để phát triển web trên các nền tảng như Magento, WordPress hoặc Drupal. Mặc dù ban đầu nó được thiết kế để tiền xử lý văn bản thuần túy trong UTF-8
PHP, do Rasmus Lerdorf tạo ra vào năm 1995, là một trong những ngôn ngữ đầu tiên có thể được đưa vào mã HTML mà không cần phải gọi các tệp bên ngoài. Ngôn ngữ kịch bản có mục đích chung này ở phía máy chủ đã không ngừng phát triển để nó có thể được hỗ trợ bởi bất kỳ hệ điều hành hoặc nền tảng web nào. Hơn nữa, PHP tiếp tục phát triển và được xuất bản theo giấy phép PHP, giấy phép này không tương thích với Giấy phép Công cộng GNU do các hạn chế sử dụng của thuật ngữ PHP.
nội dung
PHP-FPM là gì và các tính năng của nó
PHP-FPM là triển khai thay thế phổ biến nhất của PHP FastCGI. Nó có các tính năng bổ sung thực sự hữu ích cho các trang web có lưu lượng truy cập cao. Đây là một số trong số họ
- Quản lý nâng cao cho phép dễ dàng dừng/bắt đầu quy trình
- Khả năng bắt đầu công nhân với uid/gid/chroot/môi trường khác nhau và php đa dạng. ini;
- Ghi nhật ký thiết bị xuất chuẩn và thiết bị xuất chuẩn
- Khởi động lại khẩn cấp trong trường hợp vô tình phá hủy bộ đệm opcode
- Hỗ trợ tăng tốc cho tải lên
- Cấu hình biến Slowlog;
- dựa trên php. tập tin cấu hình ini
- Cải tiến FastCGI, như fastcgi_finish_request[];
- Số liệu thống kê cơ bản [tương tự như mô-đun mod_status của Apache]. MỚI.
Nginx và PHP-FPM. một trận đấu hoàn hảo
Nginx, với tư cách là một máy chủ web hiệu suất cao, ổn định và mức tiêu thụ tài nguyên rất thấp, là sự kết hợp hoàn hảo cho PHP-FPM. Nginx có kiến trúc không đồng bộ, có khả năng mở rộng hơn nhiều, dựa trên các sự kiện. Hơn nữa, khi sử dụng Nginx với PHP-FPM, hiệu suất ở mức độ tiêu thụ bộ nhớ được cải thiện
PHP chạy như một dịch vụ riêng biệt khi sử dụng PHP-FPM. Bằng cách sử dụng phiên bản PHP này làm trình thông dịch ngôn ngữ, các yêu cầu được xử lý thông qua ổ cắm TCP/IP; . Thực tế là có hai dịch vụ riêng biệt là chìa khóa để tăng hiệu quả
HHVM. một giải pháp thay thế trước đây cho PHP-FPM
Hiện tại, HHVM không còn được sử dụng. Với sự xuất hiện của phiên bản PHP cuối cùng cùng với FPM, hiệu suất của ngôn ngữ này đã được cân bằng, hoặc thậm chí được cải thiện mà không cần sử dụng HHVM — tương thích với hầu hết các chức năng của PHP 7
Cho đến khi PHP 7 xuất hiện, bộ xử lý PHP HHVM do Facebook phát triển và phát hành trên GitHub với giấy phép PHP và Zend thường được sử dụng. HHVM [HipHop Virtual Machine] là một máy ảo nguồn mở dựa trên trình biên dịch JIT [Just-in-Time], đóng vai trò là công cụ thực thi cho PHP và Hack
Bằng cách sử dụng nguyên tắc trình biên dịch JIT, HHVM thực thi mã PHP hoặc Hack trong mã Bytecode HipHop trung gian; . Điều này trái ngược với việc thực thi PHP được giải thích thông thường trong đó Zend Engine chuyển đổi mã nguồn PHP thành opcode [dạng mã byte];
PHP 7 và các phiên bản tương lai của PHP
Sự xuất hiện của PHP 7 liên quan đến sự gia tăng đáng kể về hiệu suất so với các phiên bản PHP trước đó. Điều này khiến các ứng dụng như HHVM, được sử dụng để tăng tốc dịch vụ, không được sử dụng. Trong bộ so sánh PHP này, bạn có thể xem sự khác biệt giữa các phiên bản PHP đa dạng cho một số ứng dụng. Biểu đồ so sánh cho thấy hiệu suất đã tăng gần gấp đôi kể từ PHP 5
Đối với phiên bản chính tiếp theo, PHP 8, sự phát triển dường như tập trung vào việc tạo ra các chức năng mới thay vì cải thiện đáng kể tốc độ. Vì vậy, để tránh ứng dụng ngừng hoạt động sau khi cập nhật, phải xem xét tính tương thích giữa các ứng dụng và các thay đổi có trong phiên bản mới khi cập nhật
WordPress với PHP-FPM
Nếu bạn có một nền tảng nội dung, báo điện tử hay đơn giản là một WordPress cần hiệu suất cao và nhận được hàng nghìn, hàng triệu lượt truy cập, thì rõ ràng là bạn cần một máy chủ Nginx có hỗ trợ PHP-FPM. Điều này sẽ cho phép bạn thiết lập việc thực thi mã PHP của WordPress CMS hiệu quả hơn nhiều.
Magento với PHP-FPM
Nền tảng thương mại điện tử Magento cũng tích hợp tốt với Nginx và PHP-FPM. Trên thực tế, để đạt được hiệu suất tốt nhất trong cửa hàng trực tuyến của bạn, ngoài việc sử dụng bộ cân bằng và bộ đệm, điều quan trọng là sử dụng máy chủ web phổ biến này cùng với sự hỗ trợ cho PHP-FPM
Stackscale có thể giúp bạn về cơ sở hạ tầng và các giải pháp Đám mây Riêng tư;