php-fpm 启动
PHP-FPM(PHP FastCGI Process Manager)是 PHP 应用程序请求的管理器,它负责处理来自 Web 服务器的 PHP 请求。在使用 Nginx 等 Web 服务器时,通常会使用 PHP-FPM 来处理 PHP 脚本的执行。
为什么使用 PHP-FPM
传统的 CGI 模式每次请求都会启动一个新的 PHP 进程,造成资源浪费。而 PHP-FPM 则可以通过管理池中的多个 PHP 进程来处理请求,提高性能并减少启动时间,有助于处理高流量的网站。
PHP-FPM 的配置文件
PHP-FPM 的配置文件通常位于 /etc/php/{version}/fpm/php-fpm.conf
,这里以 PHP 7.4 为例。配置文件中包含了 PHP-FPM 的全局设置,如进程池数量、用户组、监听方式等。
以下是 PHP-FPM 的默认配置文件示例:
[global]
pid = /var/run/php-fpm/php-fpm.pid
error_log = /var/log/php-fpm/error.log
[www]
user = www-data
group = www-data
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
在上面的配置文件中,pm.max_children
表示每个进程池中最多可以有多少个 PHP 进程,pm.start_servers
表示初始启动的 PHP 进程数,pm.min_spare_servers
和 pm.max_spare_servers
分别表示 PHP 进程池中最少和最多可以保留的闲置进程数。
启动 PHP-FPM
启动 PHP-FPM 可以使用以下命令:
sudo systemctl start php7.4-fpm
其中,php7.4-fpm
是 PHP-FPM 的服务名称,具体名称可能因 PHP 版本而异。
查看 PHP-FPM 运行状态
可以使用以下命令查看 PHP-FPM 的运行状态:
sudo systemctl status php7.4-fpm
如果 PHP-FPM 正常运行,将看到类似以下输出:
● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-09-03 08:00:00 UTC; 5s ago
Docs: man:php-fpm7.4(8)
Process: 1234 ExecStart=/usr/sbin/php-fpm7.4 --nodaemonize --fpm-config /etc/php/7.4/fpm/php-fpm.conf (code=exited, status=0/SUCCESS)
Main PID: 1234 (php-fpm7.4)
Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
Tasks: 3 (limit: 1124)
Memory: 11.9M
CGroup: /system.slice/php7.4-fpm.service
├─1234 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf)
├─1235 php-fpm: pool www
└─1236 php-fpm: pool www
在这个输出中,Active: active (running)
表示 PHP-FPM 正在运行,Processes active
表示活跃的 PHP 进程数,idle
表示空闲的 PHP 进程数。
重启 PHP-FPM
如果需要重新加载配置文件或者重启 PHP-FPM,可以使用以下命令:
sudo systemctl restart php7.4-fpm
停止 PHP-FPM
要停止 PHP-FPM 服务,可以使用以下命令:
sudo systemctl stop php7.4-fpm
总结
PHP-FPM 是一个高效的 PHP 进程管理器,通过管理 PHP 进程池可以提高网站性能和节省资源。在使用 Nginx 等 Web 服务器时,结合 PHP-FPM 可以更好地处理 PHP 请求。通过本文的介绍,您可以了解如何启动、停止和重启 PHP-FPM 服务,并查看其运行状态。