在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的性能。根据具体应用的需求,可能需要进一步调整配置。