我正在尝试使用 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
答案3
请查看 php-fpm 配置目录,您需要根据您的服务器资源检查配置进行优化。
参考:
https://serversforhackers.com/video/php-fpm-process-management
http://php.net/manual/en/install.fpm.configuration.php