Bảng điều khiển PHP-FPM

Bài viết này từng được gọi là "Cách cài đặt PHP 7 trên máy chủ điều khiển cPanel/WHM mà không làm hỏng mọi thứ". Ban đầu nó được viết vào năm 2015 khi không có cách nào để chạy PHP 7 trên máy chủ WHM nên bài viết này là hướng dẫn cách biên dịch PHP 7 và "hack" cấu hình WHM để làm cho nó hoạt động bình thường

Tuy nhiên, vì ngày nay chúng tôi có EasyApache 4 với hỗ trợ đa PHP, tôi đã cập nhật hướng dẫn và biến nó thành nơi để cài đặt và định cấu hình PHP trên máy chủ cPanel

Đây là một đoạn video ngắn về cách cài đặt Phiên bản PHP mới trên EasyApache 4, giữ nguyên các tiện ích mở rộng đã cài đặt

Khi bạn đã cài đặt phiên bản PHP mong muốn, bạn nên chuyển sang PHP-FPM

Việc thiết lập nó rất dễ dàng trong các phiên bản gần đây của WHM - Tất cả những gì bạn cần làm là điều hướng đến Trình quản lý MultiPHP, chọn phiên bản PHP mặc định cho toàn hệ thống và sau đó nhấn Chuyển đổi tất cả tài khoản sang PHP-FPM

Cài đặt cấp tài khoản và toàn cầu

Khi bật PHP-FPM, trong trường hợp bạn muốn thay đổi các biến cấu hình chung, hãy đăng nhập qua ssh và đặt cài đặt cấu hình của bạn vào tệp này. vim /var/cpanel/ApachePHPFPM/system_pool_defaults.yaml. Sau khi thay đổi phần điền .yaml, bạn sẽ cần xây dựng lại cấu hình bằng cách chạy /usr/local/cpanel/scripts/php_fpm_config --rebuild

Bên dưới có một tệp cấu hình ví dụ nhưng danh sách đầy đủ các biến và chỉ thị có thể có ở đây


    _is_present: 1
    pm: 'static'
    pm_max_children: 30
    pm_max_requests: 1000
    pm_process_idle_timeout: 10
    # default php configuration value:
    php_admin_value_disable_functions: exec
    # custom php configuration value:
    php_admin_value_upload_max_filesize: { name: 'php_admin_value[upload_max_filesize]', value: 64M }

Easy Apache 4 cũng cho phép cấu hình theo miền cho PHP-FPM. Để đảm bảo cài đặt cho một miền sẽ được duy trì và sẽ không ảnh hưởng đến các miền khác đang chạy trên cùng một máy chủ, bạn cần chỉnh sửa tệp cấu hình dành riêng cho miền. /var/cpanel/userdata/[username]/ancanmarketing.com.[tld].php-fpm.yaml. Sau khi sửa đổi, để xây dựng lại cấu hình FPM cho chỉ một tên miền, chỉ cần chạy. /scripts/php_fpm_config --rebuild --domain=ancanmarketing.com.[tld]

Pm "tĩnh" so với "theo yêu cầu" so với "động"

Nếu bạn chạy một máy chủ có nhiều tài khoản, cài đặt fpm mặc định trong WHM (pm: ondemand) là tốt nhất cho bạn. Lý do tại sao điều này tốt hơn là vì hệ thống sẽ bắt đầu các quy trình khi chúng cần thiết, vì vậy trên môi trường lưu trữ chia sẻ "đông đúc", tốt hơn là không sử dụng hết bộ nhớ quý giá cho các trang web/nhóm nhận được rất ít khách truy cập

Nếu bạn điều hành một trang web có lưu lượng truy cập cao, bạn nên bật pm: static và đặt pm_max_children ở mức cao nhất có thể mà không làm quá tải máy chủ. Khi pmvim /var/cpanel/ApachePHPFPM/system_pool_defaults.yaml0, chỉ thị pm_max_children về cơ bản cho biết có bao nhiêu yêu cầu đồng thời mà máy chủ của bạn có thể xử lý cùng một lúc

Nếu bạn chạy một máy chủ có nhiều tài khoản, nhưng một số máy chủ "quan trọng" hơn những tài khoản khác, thì bạn nên đặt vim /var/cpanel/ApachePHPFPM/system_pool_defaults.yaml2 và tìm sự cân bằng giữa các máy chủ dự phòng tối thiểu/tối đa mà bạn giữ ở chế độ chờ cho tài khoản "quan trọng" và các tài nguyên/

Hãy thật cẩn thận khi thiết lập các giá trị này vì bạn có thể dễ dàng tự bắn vào chân mình. )

Những loại kết quả để mong đợi

Trước khi viết bài này, tôi đã dành thời gian để thử nghiệm trên máy chủ của riêng mình, một máy ảo giá rẻ với 4GB RAM và 4vCPUs + SSD. Tôi đã tiếp tục và bắt đầu loay hoay với các cài đặt cho PHP và chạy thử nghiệm bằng trình tải. io. Tôi đã chọn một trang có rất ít tương tác với cơ sở dữ liệu để đảm bảo rằng các tắc nghẽn MySql không làm hỏng các bài kiểm tra của tôi, nhưng tiếc là tôi không có cách nào loại bỏ Apache khỏi phương trình

Dưới đây là kết quả tốt nhất có thể tôi nhận được. Nó chỉ nhanh hơn một chút (5%) khi so sánh với cài đặt mặc định với pm: ondemand. Điều này khiến tôi tin rằng các cài đặt khác quan trọng hơn nhiều khi chuẩn bị máy chủ của bạn cho lưu lượng truy cập cao

Công cụ này được sử dụng để điều chỉnh phiên bản PHP được sử dụng cho các miền khác nhau trong tài khoản cPanel của bạn. Như đã nêu trên trang, bất kỳ miền nào được đặt thành giá trị 'kế thừa' cho biết rằng miền đó không có phiên bản PHP riêng được đặt rõ ràng. Điều này có nghĩa là miền đang sử dụng cấu hình và phiên bản PHP toàn cầu mặc định, quản trị viên máy chủ có thể điều chỉnh bất kỳ lúc nào. Để khóa miền của bạn với một phiên bản PHP, chúng tôi khuyên bạn nên chọn phiên bản PHP một cách rõ ràng và tránh tùy chọn 'kế thừa'. Việc sử dụng phiên bản PHP kế thừa cũng ngăn bạn sử dụng tùy chọn PHP-FPM mà bạn cũng sẽ tìm thấy trong công cụ này


Phiên bản PHP

Để thay đổi phiên bản PHP của miền, hãy nhấp vào hộp kiểm ở bên trái tên miền, sau đó chọn phiên bản PHP ưa thích của bạn từ danh sách thả xuống ở bên phải của trang và nhấp vào 'Áp dụng'. Bạn có thể đặt nhiều tên miền thành cùng một phiên bản PHP bằng cách chọn nhiều hộp kiểm


PHP-FPM
Ghi chú. Trước tiên, PHP-FPM phải được Quản trị viên máy chủ của bạn bật trong EasyApache 4 trước khi tùy chọn này khả dụng
Với EasyApache 4, giờ đây bạn có thể bật PHP-FPM cho các miền riêng lẻ của tài khoản của mình. PHP-FPM là một trình xử lý PHP thay thế hỗ trợ tải nặng và lưu lượng truy cập cao trên các miền của bạn bằng cách duy trì một 'nhóm' các quy trình worker có thể được sử dụng để xử lý đồng thời nhiều yêu cầu PHP. Vì PHP-FPM chỉ xử lý các yêu cầu PHP nên nó có thể phục vụ nội dung PHP nhanh hơn các phương thức và trình xử lý thay thế. PHP FPM cho phép bạn không chỉ cam kết sức mạnh xử lý bổ sung cho các trang web yêu cầu mà còn cho phép bạn giới hạn các tài nguyên bổ sung đó để tránh sử dụng quá mức các tài nguyên có sẵn của máy chủ do phần cứng của nó quyết định


Trình soạn thảo MultiPHP INI

Bảng điều khiển PHP-FPM


Công cụ này được sử dụng để chỉnh sửa các cài đặt và cấu hình PHP khác nhau cho miền của bạn. Để bắt đầu, hãy chọn một miền từ danh sách thả xuống ở đầu trang. Chọn tùy chọn 'Thư mục chính' sẽ điều chỉnh cài đặt cho tất cả các miền trên tài khoản cPanel của bạn. Tuy nhiên, bất kỳ miền nào có các tùy chọn được đặt rõ ràng thông qua mục nhập riêng của chúng sẽ có các cài đặt đó được ưu tiên hơn bất kỳ cấu hình nào trong mục nhập Thư mục chính

Khi một vị trí được chọn từ danh sách thả xuống, bạn sẽ thấy nhiều lệnh PHP mà bạn có thể điều chỉnh. Các lệnh được liệt kê ở đây đơn giản là những lệnh phổ biến nhất để yêu cầu thay đổi, bạn có thể thực hiện các thay đổi trực tiếp đối với chính tệp cấu hình PHP cục bộ bằng cách chọn tab 'Chế độ Trình chỉnh sửa' ở đầu màn hình. Xin lưu ý rằng Chế độ Trình chỉnh sửa dành cho người dùng nâng cao và mọi cấu hình sai trong Chế độ Trình chỉnh sửa có thể dẫn đến lỗi hoặc sự cố PHP trên trang web của bạn, chúng tôi khuyên bạn nên theo dõi tất cả các thay đổi bạn thực hiện trong Chế độ Trình chỉnh sửa trong trường hợp chúng cần được hoàn nguyên

Cách cài đặt PHP

Quy trình .
Đăng nhập WHM
Điều hướng đến Trình quản lý MultiPHP
Ở phần dưới cùng, bên dưới Đặt phiên bản PHP cho mỗi miền, hãy sử dụng thanh tìm kiếm để tìm miền của bạn
Ở ngoài cùng bên phải miền của bạn, hãy nhấp vào biểu tượng chuyển đổi để bật PHP-FPM

PHP là gì

PHP-FPM (Trình quản lý quy trình FastCGI) là giải pháp thay thế cho việc triển khai FastCGI của PHP với một số tính năng bổ sung hữu ích cho các trang web có lưu lượng truy cập cao. Đây là phương pháp ưa thích để xử lý các trang PHP bằng NGINX và nhanh hơn các phương pháp dựa trên CGI truyền thống như SUPHP hoặc mod_php để chạy tập lệnh PHP.

FastCGI hay FPM cái nào tốt hơn?

FPM xử lý các yêu cầu nhanh hơn (hơn 30%) so với FastCGI , điều này cũng cho phép FPM xử lý nhiều yêu cầu hơn 30% cùng một lúc so với FastCGI. FPM giúp cải thiện trải nghiệm của khách truy cập và xếp hạng công cụ tìm kiếm do TTFB (Thời gian đến byte đầu tiên) ngắn hơn hơn 5 lần.

Cách bật PHP

Cách bật PHP-FPM bằng WHM .
Đăng nhập vào WHM, với tư cách là người dùng root
Trong thanh tìm kiếm WHM, gõ “php“
Nhấp vào tùy chọn menu Trình quản lý MultiPHP
Trong phần có nhãn Đặt phiên bản PHP cho mỗi tên miền, hãy tìm tên miền bạn muốn bật PHP-FPM và nhấp vào hộp kiểm ở bên trái của tên miền đó