安装了 LAMP 的 Ubuntu 18.04 想要从 php7.2 升级到 php7.2-fpm

安装了 LAMP 的 Ubuntu 18.04 想要从 php7.2 升级到 php7.2-fpm

我有一个裸机 Ubuntu 18.04 机箱,我在上面安装了 LAMP 以用于 NextCloud,并在 vhosts 中安装了 Minecraft dynmap。一切正常,但我的 NextCloud 速度慢得可笑,我读过的所有资料都说我应该使用php-fpm而不是 vanilla php

我已经搜索了如何升级PHP 7.2 升级到 FPM 版本,但我一无所获。我似乎找不到任何信息,不知道是否php.ini可以粘贴,如何告诉 Apache 使用新版本而不是旧版本,是否必须单独告诉每个 vhost 使用它,或者它是某个地方的 Apache 配置……

答案1

谷歌搜索php7.2-fpm apache2将会发现许多配置 Apache 的指南。

笔记---我并不认为这是正确或最安全的设置。网站安全问题很复杂,而且不断发展。您需要随时掌握最佳安全实践。

这是我成功使用设置的方法发展环境。这假设默认的 Ubuntu 18.04 LAMP 服务器设置已安装 php7.2。方法与发布标准 php 或 php7.3 和 php7.4 类似(已配置 ppa REPO)

如果您没有,请首先创建一个 php 信息页面。

echo '<?php phpinfo() ?>' | sudo tee /var/www/html/phpinfo.php

如果安装在服务器上,则通过本地网络或 GUI 检查浏览器中的页面。 "server ip or domain"/phpinfo.php

“服务器 API”行将确认默认的“Apache 2.0 Handler”

在终端导航到路径 /etc/apache2/

cd /etc/apache2/

检查您是否有php7.2-fpm可用的配置conf-available

ls conf-available

如果不可用,可以通过以下方式安装:

sudo apt install php7.2-fpm

启用php7.2-fpm配置:

sudo a2enconf php7.2-fpm

这将创建实际文件的链接/etc/apache/conf-available/php7.2-fpm.conf并将其放置在/etc/apache2/conf-enabled目录中。默认情况下,ubuntu apache2 配置将/etc/apache2/*-enabled目录中的所有 *.conf 文件都包含在/etc/apache2/apache2.conf文件中。

现在你需要启用proxyproxy_fcgi模块

sudo a2enmod proxy_fcgi

这将启用两个模块,因为 proxy.conf 是 proxy_fcgi 的依赖项。

现在完成,禁用php7.2 module

sudo a2dismod php7.2

重启 Apache 服务器

sudo systemctl restart apache2

确认配置"ip or domain"/phpinfo.php

“服务器 API” 行现在将确认“ FPM/FastCGI ”。

PHP 工作负载现已从 apache 进程转移至独立的 php 服务器进程。

这假设 Ubuntu LAMP 服务器的默认设置。这不考虑任何之前启用的模块或配置。在对默认配置文件进行任何更改之前,我建议创建备份副本以恢复默认设置。

此方法与 Ubuntu 后续版本的 php7.3 或 php 7.4 类似

如果重启时遇到任何错误,请检查 apache2 日志文件/var/log/apache2/和 php 日志/var/log

相关内容