sudo systemctl start php7.4fpm
,关闭:sudo systemctl stop php7.4fpm
PHPFPM(FastCGI Process Manager)是一款用于管理PHP FastCGI进程的工具,在Linux环境下,它与Apache、Nginx等服务器配合使用,构建完整的PHP运行环境,以下是对linux下phpfpm开启关闭使用方法的详细介绍:
启动PHPFPM
1、通过命令行启动:
可以直接运行PHPFPM的可执行文件来启动服务,如果PHP安装在/usr/local/php
目录下,可以使用以下命令启动PHPFPM:
“`bash
/usr/local/php/sbin/phpfpm
“`
或者,如果PHPFPM是通过系统包管理器安装的,可以使用service
命令或systemctl
命令启动:
“`bash
service phpfpm start
“`
“`bash
systemctl start phpfpm
“`
2、配置开机自启动:
如果希望PHPFPM在系统启动时自动运行,可以将其添加到开机启动项中,对于基于SysV的系统,可以使用chkconfig
命令:
“`bash
chkconfig phpfpm on
“`
对于基于systemd的系统,可以创建或修改相应的systemd服务文件,并使用systemctl enable
命令启用服务:
“`bash
systemctl enable phpfpm
“`
查看PHPFPM状态
1、检查PHPFPM是否正在运行:
使用ps
命令结合grep
来检查PHPFPM进程是否存在:
“`bash
ps ef | grep phpfpm
“`
如果看到与PHPFPM相关的进程列表,则说明PHPFPM正在运行。
2、查看PHPFPM的详细状态:
如果PHPFPM配置文件中的pm.status_path
选项被设置为某个值(如/status
),可以通过访问该路径(通常是Web服务器的某个URL)来查看PHPFPM的详细状态信息,这包括总进程数、空闲进程数、当前活跃的请求数等。
关闭PHPFPM
1、通过命令行关闭:
使用kill
命令发送信号给PHPFPM主进程,主进程的PID通常存储在/var/run/phpfpm/phpfpm.pid
文件中(具体路径可能因系统而异),以下是一些常用的信号及其作用:
SIGINT
(或TERM
):立即终止所有子进程,然后终止主进程。
SIGQUIT
:平滑地终止所有子进程,然后终止主进程,子进程在处理完现有请求后会退出。
SIGTERM
:与SIGINT
类似,但通常用于更优雅地终止进程。
SIGUSR1
:重新打开日志文件。
SIGUSR2
:平滑地重载所有worker进程,并重新载入配置和二进制模块。
示例命令:
“`bash
kill INT $(cat /var/run/phpfpm/phpfpm.pid)
“`
“`bash
kill USR2 $(cat /var/run/phpfpm/phpfpm.pid)
“`
2、通过软件包管理器关闭:
如果PHPFPM是通过系统包管理器安装的,可以使用service
命令或systemctl
命令停止服务:
“`bash
service phpfpm stop
“`
“`bash
systemctl stop phpfpm
“`
3、通过编辑配置文件关闭(不推荐):
理论上,可以通过修改PHPFPM的配置文件来停止服务,但这通常不是关闭服务的常规方法,更常见的做法是直接使用上述命令行方法。
重启PHPFPM
1、平滑重启:
要平滑地重启PHPFPM(即在不中断当前请求的情况下重启),可以先发送SIGUSR2
信号,然后再发送SIGTERM
或SIGINT
信号,这样,新的请求将由新进程处理,而旧进程将在处理完现有请求后退出。
示例命令:
“`bash
kill USR2 $(cat /var/run/phpfpm/phpfpm.pid)
kill INT $(cat /var/run/phpfpm/phpfpm.pid)
“`
2、快速重启:
如果不需要平滑地重启,可以直接发送SIGTERM
或SIGINT
信号来立即终止所有进程,然后重新启动PHPFPM。
示例命令:
“`bash
kill TERM $(cat /var/run/phpfpm/phpfpm.pid)
/usr/local/php/sbin/phpfpm
“`
常见问题及解答
1、问题1:如何查看PHPFPM的版本?
解答:可以通过运行以下命令查看PHPFPM的版本信息:
“`bash
phpfpm v
“`
或者,如果PHPFPM是通过PHP源码编译安装的,可以使用以下命令查看PHP版本(因为PHPFPM的版本通常与PHP版本相同):
“`bash
php v
“`
2、问题2:如何限制PHPFPM的内存使用?
解答:可以通过修改PHPFPM的配置文件(如/etc/phpfpm.conf
或/etc/phpfpm.d/www.conf
)来设置内存限制,可以设置pm.max_children
(最大子进程数)、pm.start_servers
(启动时创建的子进程数)、pm.min_spare_servers
(最小空闲子进程数)和pm.max_spare_servers
(最大空闲子进程数)等参数来控制内存使用,还可以设置request_terminate_timeout
参数来防止长时间运行的请求占用过多资源,修改配置后,需要重启PHPFPM服务以使更改生效。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1101071.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复