我有一个裸机 Ubuntu 18.04 盒子,我在其上安装了 LAMP,用于在虚拟主机中安装 NextCloud 和 Minecraft dynmap。一切正常,但是我的 NextCloud 速度慢得可笑,而且我所做的所有阅读都表明我应该使用 php-fpm 而不是 vanilla php。
我已经搜索并搜索了如何将 php 7.2升级到 fpm 版本,但我空手而归。我似乎找不到任何关于我的 php.ini 是否可以粘贴的信息,如何告诉 apache 使用新版本而不是旧版本,我是否必须单独告诉每个虚拟主机使用它某个地方的apache配置...
任何帮助表示赞赏。
谷歌搜索
php7.2-fpm apache2
将揭示许多配置 apache 的指南。注意--- 我不认为这是正确或最安全的设置。站点安全问题是复杂且不断发展的。您可以随时了解最佳安全实践。
这是我在开发环境中成功使用设置的方法。这假定安装了 php7.2 的默认 Ubuntu 18.04 LAMP 服务器设置。方法与发布标准 php 或 php7.3 和 php7.4 相同(配置了 ppa REPO)
如果您没有,请先创建一个 php 信息页面。
如果安装在服务器上,则通过本地网络或 gui 在浏览器中检查页面。
"server ip or domain"/phpinfo.php
“服务器 API”行将确认默认的“Apache 2.0 处理程序”
在终端导航到路径 /etc/apache2/
检查您是否有
php7.2-fpm
可用的配置conf-available
如果它不可用,可以通过以下方式安装:
启用
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
文件中。现在您需要启用
proxy
和proxy_fcgi
模块这将启用两个模块,因为 proxy.conf 是 proxy_fcgi 的依赖项。
现在完成,禁用
php7.2 module
:重启apache服务器
确认配置
"ip or domain"/phpinfo.php
“Server API”行现在将确认“FPM/FastCGI”。
PHP 工作负载现在从 apache 进程卸载到一个独立的 php 服务器进程。
这假定默认的 Ubuntu LAMP 服务器设置。这不考虑任何先前启用的模块或配置。在对默认 conf 文件进行任何更改之前,我建议创建一个备份副本以恢复默认设置。
此方法与 php7.3 或 php 7.4 的后续 Ubuntu 版本类似
如果在重新启动期间遇到任何错误,请检查 apache2 日志文件
/var/log/apache2/
和 php 登录/var/log
。