3

我正在使用带有 Nginx 的 CentOS 6.4 (x86) VPS。

在 Webmin Running processes 表中,我发现多达 8 个“php-fpm: pool www”正在运行的进程,“Apache”是所有者,但 Apache 没有运行!

这会消耗大量 RAM 内存。nginx作业是否必要?对不起这个(愚蠢的?)问题,但我是关于服务器管理的新手。

先感谢您。

4

2 回答 2

3

处理运行将是必需的,不会被浪费。

应该在 PHP-FPM 配置文件中定义的第一件事是 PHP-FPM 应该在哪个用户和组下运行。

大概您的配置文件说要在用户“Apache”下运行 PHP-FPM。您可以将其更改为您喜欢的任何内容,只要您获得 PHP-FPM 访问您的 php 文件的文件权限即可。

但是,如果 PHP-FPM 占用了大量内存,那么您应该调整池数量的值以及每个池可以使用多少内存。特别是您可以减少设置:

pm.start_servers = 4
pm.min_spare_servers = 2

没有负载时没有那么多的 PHP-FPM 进程处于空闲状态。

于 2013-06-06T00:42:44.007 回答
0

PHP-FPM 有它自己独立的进程管理器,并且真的没有连接到除了它自己之外的任何东西。其他软件会连接到它,IE:nginx/apache。由于您拥有池配置,您可能会看到“Apache”用户正在运行该进程。您可以轻松更改配置,然后重新启动 FPM 进程。

如果您不希望在不使用时运行陈旧的进程,那么我建议您将池配置中的 PM 选项从静态/动态更改为按需。这样,FPM 只会在需要时才启动。

许多人在需要对其正在运行的进程进行特定变化时使用静态/动态选项,即:一个接收大量持续流量的站点。

根据您的 FPM 安装,您通常会在 /etc/php.ini 中找到配置。我将我的配置保存在 /usr/local/etc/php-fpm/ 或 /usr/local/etc/fpm.d/

于 2013-06-06T20:36:11.467 回答