温馨提示×

如何调整Ubuntu PHP-FPM进程管理

小樊
47
2025-03-04 11:52:54
栏目: 编程语言
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要调整Ubuntu上的PHP-FPM进程管理,可以按照以下步骤进行:

1. 编辑PHP-FPM配置文件

首先,打开PHP-FPM的主要配置文件。配置文件通常位于 /etc/php/{version}/fpm/php-fpm.conf,其中 {version} 需要替换为你所安装的PHP版本号,例如 7.48.0

sudo nano /etc/php/{version}/fpm/php-fpm.conf

2. 修改进程管理参数

在配置文件中,可以调整以下关键参数来管理PHP-FPM进程:

  • pm.max_children:指定每个进程池中允许的最大子进程数量。
  • pm.start_servers:指定启动时将创建的子进程数量。
  • pm.min_spare_servers:指定空闲状态下保持的最小子进程数量。
  • pm.max_spare_servers:指定空闲状态下保持的最大子进程数量。
  • pm.process_idle_timeout:设置空闲进程在终止前等待的时间(秒)。
  • listen:指定PHP-FPM监听的地址和端口,可以是Unix套接字或TCP端口。

例如,要增加最大子进程数并设置监听Unix套接字,可以修改如下配置:

pm.max_children = 50
listen = unix:/var/run/php/{version}-fpm.sock

3. 使用systemd进行进程守护

在支持systemd的Linux系统上,可以使用systemd进行PHP-FPM进程守护,以确保进程的稳定运行。

  1. 编辑PHP-FPM的systemd配置文件:

    sudo vi /etc/systemd/system/php{version}-fpm.service
    
  2. 在该文件中,添加或修改以下内容:

    [Unit]
    Description=PHP FastCGI Process Manager
    After=network.target
    
    [Service]
    ExecStart=/usr/sbin/php-fpm --nodaemonize --fpm-config /etc/php/{version}/fpm/php-fpm.conf
    
    [Install]
    WantedBy=multi-user.target
    
  3. 启动PHP-FPM服务:

    sudo systemctl start php{version}-fpm
    
  4. 设置PHP-FPM服务开机自启动:

    sudo systemctl enable php{version}-fpm
    

4. 重启PHP-FPM服务

完成配置后,需要重新启动PHP-FPM服务以使更改生效:

sudo systemctl restart php{version}-fpm

5. 验证配置

可以使用以下命令检查PHP-FPM服务的状态:

sudo systemctl status php{version}-fpm

如果一切正常,你应该会看到PHP-FPM服务正在运行的状态信息。

6. 配置Web服务器

确保你的Web服务器(如Nginx或Apache)已配置为使用PHP-FPM。例如,对于Nginx,可以在配置文件中添加以下内容:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/{version}-fpm.sock;
}

对于Apache,可以在配置文件中添加以下内容:

<FilesMatch \.php$>
    SetHandler "proxy:unix:/var/run/php/{version}-fpm.sock|fcgi://localhost"
</FilesMatch>

完成以上步骤后,PHP-FPM应该已经成功配置并可以使用了。

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

推荐阅读:如何在Ubuntu上调整PHP-FPM进程管理

0