ubuntu

php-fpm在ubuntu上的最佳实践有哪些

小樊
45
2025-03-08 12:47:00
栏目: 编程语言
PHP开发者专用服务器,限时0元免费领! 查看>>

在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支持两种进程管理方式:staticdynamicdynamic是更常用的方式,它根据负载动态创建和销毁进程。

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

监控和优化

安全性设置

确保Nginx和PHP-FPM的运行用户和用户组设置正确,以限制对敏感文件和目录的访问。

使用最新版本的PHP和扩展

始终使用最新版本的PHP和PHP扩展库,以获得性能改进和安全修复。

通过以上步骤,您可以在Ubuntu上成功安装、配置和优化PHP-FPM,从而提高PHP应用程序的性能和稳定性。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

相关推荐:PHP-FPM在Ubuntu上的最佳实践

0
看了该问题的人还看了