在CentOS上優化PHP-FPM可以顯著提高PHP應用程序的性能。以下是一些常見的優化步驟:
首先,確保你已經安裝了PHP-FPM。你可以使用以下命令來安裝:
sudo yum install epel-release
sudo yum install php-fpm
編輯PHP-FPM的配置文件,通常位于/etc/php-fpm.d/www.conf
或/etc/php-fpm.conf
。
pm:選擇進程管理方式,常用的有dynamic
、ondemand
和static
。
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests:每個子進程在重啟之前可以處理的請求數量,有助于防止內存泄漏。
pm.max_requests = 500
rlimit_files = 10240
編輯PHP的配置文件/etc/php.ini
,進行以下優化:
memory_limit = 256M
max_execution_time = 300
display_errors = Off
log_errors = On
error_log = /var/log/php-fpm/error.log
如果你使用Nginx作為Web服務器,確保Nginx配置文件/etc/nginx/nginx.conf
或相應的站點配置文件中正確配置了PHP-FPM。
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
使用工具如top
、htop
、php-fpm status
等來監控PHP-FPM的性能,并根據實際情況調整配置。
安裝并啟用OPcache可以顯著提高PHP性能。
sudo yum install php-opcache
編輯/etc/php.ini
,啟用OPcache:
[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
定期重啟PHP-FPM可以釋放內存并應用新的配置。
sudo systemctl restart php-fpm
通過以上步驟,你可以顯著提高CentOS上PHP-FPM的性能。根據具體應用的需求,可能需要進一步調整配置。