温馨提示×

debian php进程怎样管理

小樊
41
2026-10-16 19:20:54
栏目: 编程语言

在 Debian 系统上,PHP 进程的管理方式取决于 PHP 的运行模式(PHP-FPM、CLI、Apache mod_php 等)。下面按常见场景系统说明。


一、PHP-FPM(最常见,配合 Nginx/Apache)

1. 查看 PHP-FPM 服务状态

systemctl status php-fpm
# 或(Debian 常见命名)
systemctl status php8.2-fpm

查看已安装版本:

ls /etc/php/

2. 启动 / 停止 / 重启

systemctl start php8.2-fpm
systemctl stop php8.2-fpm
systemctl restart php8.2-fpm
systemctl reload php8.2-fpm

reload 平滑重启,不中断请求

3. 开机自启

systemctl enable php8.2-fpm
systemctl disable php8.2-fpm

4. 进程管理(PHP-FPM 自身)

配置文件:

/etc/php/8.2/fpm/pool.d/www.conf

关键参数:

pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10

查看进程:

ps aux | grep php-fpm

二、Apache + mod_php(不推荐新项目)

PHP 作为 Apache 模块运行:

systemctl status apache2

管理 Apache 即管理 PHP:

systemctl restart apache2

三、PHP CLI 脚本(后台进程)

1. 手动运行

php script.php

2. 后台运行

nohup php script.php > log.txt 2>&1 &

3. 使用 systemd 管理(推荐)

创建服务:

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

示例:

[Unit]
Description=PHP Worker
After=network.target

[Service]
ExecStart=/usr/bin/php /var/www/app/worker.php
Restart=always
User=www-data

[Install]
WantedBy=multi-user.target

启用:

systemctl daemon-reload
systemctl start php-worker
systemctl enable php-worker

四、Supervisor 管理 PHP 进程(常用)

安装:

apt install supervisor

配置:

/etc/supervisor/conf.d/php-worker.conf
[program:php-worker]
command=php /var/www/app/worker.php
autostart=true
autorestart=true
user=www-data

管理:

supervisorctl reload
supervisorctl status

五、排查 PHP 进程问题

查看占用

top
htop
ps aux | grep php

查看慢日志(FPM)

slowlog = /var/log/php-fpm/slow.log
request_slowlog_timeout = 5s

六、总结建议

场景 推荐方式
Web 服务 PHP-FPM + systemd
定时/常驻任务 Supervisor / systemd
调试脚本 CLI

如果你能说明:

  • Debian 版本
  • PHP 版本
  • Web 服务器(Nginx/Apache)
  • 是 Web 还是后台进程

我可以给你更精确的管理方案。

0 踩