PHP FPM(FastCGI 进程管理器)是 PHP FastCGI 的替代实现。它提供了一些附加功能,例如对站点有用的自适应进程生成。本教程将帮助您在 Ubuntu 20.04 系统上使用 PHP-FPM/FastCGI 安装 Apache。在本教程中,我们使用 PHP 7.4 并使用 PHP-FPM 和 FastCGI 配置 Apache。
您还可以访问之前的教程使用多个 PHP 版本配置 Apache在 Ubuntu 系统上使用 PHP-FPM/FastCGI。
第 1 步 – 安装 Apache
Apache Web 服务器 debian 软件包在默认存储库下可用。使用 sudo 权限帐户登录您的 Ubuntu 系统。打开终端并执行以下命令:
sudo apt update
sudo apt install apache2 libapache2-mod-fcgid
上述命令将安装 Apache 和 FastCGI 模块到您的服务器。
第 2 步 – 使用 FPM 安装 PHP
接下来,在 Ubuntu 系统上安装 PHP 和 PHP-FPM。在本教程中,我们选择 PHP 7.4 进行安装
对于 PHP 安装,我们建议使用ppa:ondrej/php购电协议。执行以下几个命令将 PPA 添加到您的系统。
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
然后安装 PHP 7.4(或所需版本)(编写本教程当天可用的最新版本)。只需执行以下命令即可安装 PHP 和 PHP-FPM 软件包。
sudo apt update
sudo apt install php7.4 php7.4-fpm
Note:- 当您使用 PHP-FPM 时。所有 PHP 模块配置都位于 /etc/php/7.4/fpm 目录下。您可以阅读更多有关启用/禁用 PHP 模块.
安装软件包后,php7.4-fpm 服务将自动启动。为了确保这一点,请输入:
sudo systemctl status php7.4-fpm
● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-05-09 04:41:44 UTC; 19s ago
Docs: man:php-fpm7.4(8)
Process: 375077 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/7.4/fpm/pool.d/www.conf 74 (code=exited>
Main PID: 375073 (php-fpm7.4)
Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
Tasks: 3 (limit: 2283)
Memory: 9.3M
CGroup: /system.slice/php7.4-fpm.service
├─375073 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf)
├─375075 php-fpm: pool www
└─375076 php-fpm: pool www
May 09 04:41:43 tecadmin systemd[1]: Starting The PHP 7.4 FastCGI Process Manager...
May 09 04:41:44 tecadmin systemd[1]: Started The PHP 7.4 FastCGI Process Manager.
步骤 3 – Apache 配置
现在,您需要启用 FastCGI 配置所需的一些 Apache 模块。您可以通过运行命令启用所需的模块:
sudo a2enmod actions fcgid alias proxy_fcgi
然后配置 Apache 虚拟主机以与 FPM/FastCGI 一起运行。在本教程中,我们使用默认的 VirtualHost。在文本编辑器中编辑 VirtualHost 主机配置文件。您还可以根据您的选择创建新配置。
sudo vim /etc/apache2/sites-available/000-default.conf
更新配置如下。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<虚拟主机 *:80>
服务器名称 example.com
服务器别名 www.example.com
文档根目录 /var/www/html
<目录 /var/www/html>
选项 -Indexes +关注符号链接 +多视图
允许覆盖 All
要求 all granted
</目录>
<文件匹配 \.php$>
# 2.4.10+ 可以代理到unix套接字
设置处理程序 “代理:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost”
</文件匹配>
错误日志 ${APACHE_LOG_DIR}/error.log
自定义日志 ${APACHE_LOG_DIR}/access.log combined
</虚拟主机>
|
保存对配置文件的更改并重新启动 Apache 以重新加载更改。
sudo systemctl restart apache2
第 4 步 – 验证设置
Apache 与 PHP-FPM 配置已经完成。现在所有 PHP 文件都将使用 FPM 运行。
要验证这些设置,请使用以下命令创建 PHP 脚本phpinfo()函数并将其放置到您的服务器文档根目录中。使用以下命令创建文件:
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
然后使用服务器 IP 地址(默认 VirtualHost)或您在 Apache VirtualHost 中配置的域访问 info.php。
结论
本教程帮助您在 Ubuntu 系统上使用 PHP-FPM 安装 Apache。