在Ubuntu上配置和优化PHP-FPM(FastCGI Process Manager)涉及多个步骤,以下是一些最佳实践:
安装PHP和PHP-FPM
首先,确保系统已经更新到最新版本:
sudo apt update
sudo apt upgrade
然后,安装PHP和PHP-FPM:
sudo apt install php-fpm php-mysql
配置PHP-FPM
编辑PHP-FPM的配置文件,通常位于 /etc/php/{version}/fpm/php.ini,根据需要进行自定义配置。例如:
pm.max_children = 50 # 提高进程池的大小
pm.start_servers = 20 # 启动时初始的进程数量
pm.min_spare_servers = 10 # 最小空闲进程数量
pm.max_spare_servers = 30 # 最大空闲进程数量
pm.max_requests = 500 # 单个进程处理的最大请求数量
启用OPcache
OPcache可以显著提高PHP的执行效率。在php.ini文件中启用OPcache,并调整相关参数:
opcache.enable = 1
opcache.memory_consumption = 128
opcache.max_accelerated_files = 4000
opcache.validate_timestamps = 0
opcache.revalidate_freq = 0
配置进程管理方式
PHP-FPM支持两种进程管理方式:static和dynamic。dynamic是更常用的方式,它根据负载动态创建和销毁进程。
pm = dynamic
启用Slow Log
开启Slow Log功能可以帮助定位执行缓慢的脚本:
request_slowlog_timeout = 1s
slowlog = /var/log/php-fpm.slow.log
request_slowlog_trace_depth = 20
配置防火墙
如果需要,配置防火墙允许外部访问PHP-FPM:
sudo ufw allow 'Apache Full'
配置Web服务器
确保Web服务器(如Nginx或Apache)已配置为使用PHP-FPM。例如,对于Nginx,在虚拟主机配置文件中添加以下内容:
FilesMatch \.php$
SetHandler "proxy:unix:/run/php/php{version}-fpm.sock|fcgi://localhost"
重启服务
完成配置后,重启PHP-FPM服务以使更改生效:
sudo systemctl restart php{version}-fpm
监控和优化
- 监控进程数量:使用
ps aux | grep php-fpm | wc -l检查PHP-FPM的进程数量。 - 调整进程参数:根据实际情况调整
pm.max_children、pm.start_servers、pm.min_spare_servers和pm.max_spare_servers等参数。
安全性设置
确保Nginx和PHP-FPM的运行用户和用户组设置正确,以限制对敏感文件和目录的访问。
使用最新版本的PHP和扩展
始终使用最新版本的PHP和PHP扩展库,以获得性能改进和安全修复。
通过以上步骤,您可以在Ubuntu上成功安装、配置和优化PHP-FPM,从而提高PHP应用程序的性能和稳定性。
以上就是关于“php-fpm在ubuntu上的最佳实践有哪些”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm