在 Centos 7 上安装 php-fpm apache 2.4.6

在 Centos 7 上安装 php-fpm apache 2.4.6

我正在尝试使用 php-fpm,因为我听说它可以提高我的网络服务器的性能,而且它似乎正在运行......但它看起来并没有加快任何速度。

我经历了以下步骤。

  • 使用 yum 安装 php-fpm
  • 配置 php-fpm 使用 unix 套接字,并设置 [www] 监听 apache
  • 将 10-php.conf 重命名为 10-php.conf.disabled
  • 将 mpm 从 mpm_prefork_module 切换到 mpm_event_module
  • 在目录设置下向我的所有虚拟主机添加了以下内容:

    # php-fpm
    <FilesMatch "\.php$">
      SetHandler  "proxy:unix:/var/run/php-fpm/php-fpm.sock|fcgi://www/"
    </FilesMatch>
    
  • 重新启动/启动一切并在启动时启用 php-fpm

我对 mod_fcgi、mod_fastcgi 和 mod_php 有点困惑,但并没有改变它们(除了重命名 10-php.conf)。我读到了一些关于 mod_proxy_fcgi 是现代标准的内容,但同样没有明确安装或启用它。

这是正确的设置吗?还是我缺少了一些东西来获得任何好处?

答案1

该解决方案不使用 UNIX 套接字(它监听端口 9000),但我为其他可能正在寻找在 CentOS 上轻松安装 PHP7-FPM 的方法的人提供了这个答案。

步骤1:设置PHP-FPM守护进程

配置您的软件合集存储库,然后:

yum install rh-php70 rh-php70-php-fpm
systemctl enable rh-php70-php-fpm
systemctl daemon-reload
systemctl start rh-php70-php-fpm
  • 配置位于/etc/opt/rh/rh-php70
  • 日志位于/var/opt/rh/rh-php70/log/php-fpm/www-error.log
  • systemd 链接/etc/systemd/system/multi-user.target.wants/rh-php70-php-fpm.service/usr/lib/systemd/system/rh-php70-php-fpm.service
  • 可执行文件位于/opt/rh/rh-php70/root/usr/sbin/php-fpm

第 2 步:配置 Apache FastCGI

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/$1

进一步阅读

答案2

如果你正在优化任何东西,你应该有一个你正在关注的指标。进行一些测量,有很多工具可以做到这一点,比如absiegejmeter

获取一些结果并比较不同的配置以查看哪一个更适合您。

答案3

请查看 php-fpm 配置目录,您需要根据您的服务器资源检查配置进行优化。
参考:
https://serversforhackers.com/video/php-fpm-process-management
http://php.net/manual/en/install.fpm.configuration.php

相关内容