在Ubuntu上,您可以使用systemd和cgroups来限制PHP-FPM的资源使用。以下是限制PHP-FPM资源的步骤:
-
首先,确保您的系统已经安装了
systemd和cgroups。在大多数现代Ubuntu版本中,这些组件默认已安装。 -
创建一个新的
systemd服务文件,用于限制PHP-FPM的资源使用。在/etc/systemd/system/目录下创建一个名为php-fpm-limit.service的文件:
sudo nano /etc/systemd/system/php-fpm-limit.service
- 将以下内容粘贴到新创建的服务文件中,根据需要修改
LimitNOFILE、LimitMEMLOCK、LimitRSS等参数:
[Unit]
Description=PHP FastCGI Process Manager with resource limits
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
ProtectSystem=full
ProtectHome=read-only
ProtectKernelTunables=read-only
ProtectKernelModules=read-only
LimitNOFILE=65535
LimitMEMLOCK=infinity
LimitRSS=512M
TasksMax=infinity
TimeoutStartSec=0
[Install]
WantedBy=multi-user.target
在这个例子中,我们限制了PHP-FPM进程的最大内存使用量为512MB。您可以根据需要调整这些值。
-
保存并关闭文件。
-
重新加载
systemd配置以识别新创建的服务:
sudo systemctl daemon-reload
- 停止当前的PHP-FPM服务(如果有):
sudo systemctl stop php7.4-fpm
- 启动新的受限PHP-FPM服务:
sudo systemctl start php-fpm-limit.service
- 确保新的服务已成功启动:
sudo systemctl status php-fpm-limit.service
现在,您的PHP-FPM进程应该受到在php-fpm-limit.service文件中定义的资源限制。
请注意,这个示例是针对PHP 7.4的。如果您使用的是其他版本的PHP,请相应地修改ExecStart行中的路径。
以上就是关于“php-fpm在ubuntu上如何进行资源限制”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm