ubuntu

如何在Ubuntu上设置PHP-FPM自动重启

小樊
43
2025-05-28 02:28:18
栏目: 编程语言

在Ubuntu上设置PHP-FPM自动重启可以通过多种方式实现,以下是几种常见的方法:

方法一:使用systemd服务

  1. 创建或编辑PHP-FPM服务文件: 打开终端并编辑PHP-FPM的服务文件。通常这个文件位于/etc/systemd/system/php-fpm.service

    sudo nano /etc/systemd/system/php-fpm.service
    

    如果文件不存在,可以创建一个:

    sudo cp /lib/systemd/system/php7.4-fpm.service /etc/systemd/system/php-fpm.service
    sudo nano /etc/systemd/system/php-fpm.service
    

    根据你的PHP版本调整服务文件中的路径和配置。

  2. 修改服务文件: 确保服务文件中有以下内容:

    [Unit]
    Description=The PHP FastCGI Process Manager
    After=syslog.target network.target
    
    [Service]
    Type=simple
    PIDFile=/run/php/php7.4-fpm.pid
    ExecStart=/usr/sbin/php-fpm7.4 --nodaemonize --fpm-config /etc/php/7.4/fpm/php-fpm.conf
    ExecReload=/bin/kill -USR2 $MAINPID
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    

    根据你的PHP版本调整路径和配置。

  3. 重新加载systemd配置: 保存并关闭文件后,重新加载systemd配置以识别新的服务文件:

    sudo systemctl daemon-reload
    
  4. 启动并启用PHP-FPM服务: 启动PHP-FPM服务并设置为开机自启:

    sudo systemctl start php-fpm
    sudo systemctl enable php-fpm
    
  5. 设置自动重启: 你可以使用Restart选项来设置自动重启策略。例如,设置为在失败时自动重启:

    [Service]
    Restart=on-failure
    

    或者设置为每隔一段时间自动重启:

    [Service]
    Restart=always
    RestartSec=30
    

方法二:使用cron任务

如果你不想使用systemd,可以使用cron任务来定期重启PHP-FPM。

  1. 编辑crontab文件: 打开当前用户的crontab文件:

    crontab -e
    
  2. 添加重启任务: 添加一行来定期重启PHP-FPM。例如,每5分钟重启一次:

    */5 * * * * /usr/sbin/service php7.4-fpm restart
    

    根据你的PHP版本调整命令。

  3. 保存并退出: 保存并退出编辑器。

方法三:使用supervisord

Supervisord是一个进程控制系统,可以用来管理多个进程,包括PHP-FPM。

  1. 安装supervisord

    sudo apt-get install supervisor
    
  2. 配置supervisord: 编辑supervisord的配置文件:

    sudo nano /etc/supervisor/conf.d/php-fpm.conf
    

    添加以下内容:

    [program:php-fpm]
    command=/usr/sbin/php-fpm7.4 --nodaemonize --fpm-config /etc/php/7.4/fpm/php-fpm.conf
    autostart=true
    autorestart=true
    stderr_logfile=/var/log/php-fpm.err.log
    stdout_logfile=/var/log/php-fpm.out.log
    

    根据你的PHP版本调整命令和路径。

  3. 重新加载supervisord配置: 保存并关闭文件后,重新加载supervisord配置:

    sudo supervisorctl reread
    sudo supervisorctl update
    
  4. 启动PHP-FPM: 使用supervisord启动PHP-FPM:

    sudo supervisorctl start php-fpm
    

通过以上方法,你可以在Ubuntu上设置PHP-FPM自动重启,确保服务的稳定性和可靠性。

0
看了该问题的人还看了