温馨提示×

如何利用Linux提升php-fpm的稳定性

小樊
92
2025-02-16 19:22:56
栏目: 编程语言
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要利用Linux提升php-fpm的稳定性,可以采取以下几种方法:

使用systemd或Supervisor进行进程守护

  • 使用systemd

    1. 编辑PHP-FPM的systemd配置文件:
      sudo vi /etc/systemd/system/php-fpm.service
      
    2. 在配置文件中添加以下内容:
      [Unit]
      Description=PHP FastCGI Process Manager
      After=network.target
      
      [Service]
      ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf
      
      [Install]
      WantedBy=multi-user.target
      
    3. 启动PHP-FPM服务:
      sudo systemctl start php-fpm
      
    4. 设置PHP-FPM服务开机自启动:
      sudo systemctl enable php-fpm
      

    通过上述配置,PHP-FPM进程将systemd服务在后台运行,即使进程意外退出,systemd也会自动重启进程,保证进程的稳定性。

  • 使用Supervisor

    1. 安装Supervisor:
      sudo apt-get install supervisor
      
    2. 创建PHP-FPM的Supervisor配置文件:
      sudo vi /etc/supervisor/conf.d/php-fpm.conf
      
    3. 在配置文件中添加以下内容:
      [program:php-fpm]
      command=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf
      autostart=true
      autorestart=true
      startretries=3
      user=nobody
      redirect_stderr=true
      
    4. 启动Supervisor服务:
      sudo systemctl start supervisor
      
    5. 启动PHP-FPM进程:
      sudo supervisorctl start php-fpm
      

    通过以上配置,Supervisor会监控PHP-FPM进程,如果进程意外退出,Supervisor会自动重启进程,以保证进程的稳定性。

配置优化

  • 调整PHP-FPM配置文件
    • 编辑PHP-FPM配置文件(通常是/etc/php-fpm.d/www.conf/etc/php/版本号/fpm/pool.d/www.conf),根据服务器的硬件资源和应用需求调整以下参数:
      • pm.max_children:设置最大的子进程数量。
      • pm.start_servers:设置启动时的进程数量。建议设置为可用CPU核心数的4倍。
      • pm.min_spare_servers:设置最小空闲进程数量。可以设置为可用CPU核心数的2倍。
      • pm.max_spare_servers:设置最大空闲进程数量。可以设置为可用CPU核心数的4倍。
      • pm.max_requests:设置每个子进程在被重新生成之前可以处理的请求数。可以设置为500或1000。
      • request_terminate_timeout:设置PHP脚本执行的最长时间。防止脚本运行时间过长,导致占用资源。

资源管理

  • 限制资源使用
    • 使用ulimit命令限制PHP-FPM进程的资源使用,例如:
      ulimit -n 65536  # 增加打开文件描述符的限制
      
    • /etc/security/limits.conf文件中设置:
      * soft nofile 65536
      * hard nofile 65536
      

监控和调优

  • 定期监控
    • 使用工具如htopvmstatiostat等定期监控服务器的性能指标,并根据实际情况进行调整。

通过以上方法,可以显著提升Linux系统中php-fpm的稳定性。根据实际需求和环境,选择适合的进程守护方法和配置优化策略,可以有效提高php-fpm的可靠性和稳定性。

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

推荐阅读:如何利用Linux提升K8S的稳定性

0