Apache 与 php-fpm

来自 Alpine Linux
此材料建议合并...

它应该与 Apache 合并。将所有内容放在一处似乎更合乎逻辑(讨论

PHP-FPM 是 PHP 的 Fast Process Manager(快速进程管理器),作为一个服务运行,当通过 FastCGI 接口请求文件时,它会根据需要生成 PHP 进程。将请求传递给 PHP-FPM 可以更快地解释 PHP 文件,而不是每次请求页面时都让 Apache 生成新进程。您可以在此处阅读更多相关信息。

说明

安装

安装所需软件包

# apk add apache2-proxy php-fpm

运行服务并添加到启动项

# rc-service php-fpm83 start # rc-update add php-fpm83 # rc-service apache2 start # rc-update add apache2


配置

配置 Apache

取消注释 mpm_event 模块并注释 mpm_prefork 模块,如下所示

 LoadModule mpm_event_module modules/mod_mpm_event.so
 #LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

将以下行添加到 /etc/apache2/httpd.conf

<FilesMatch \.php$>
    SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>

注释掉 /etc/apache2/conf.d/php8-module.conf 中的以下行

 #LoadModule php_module modules/mod_php8.so
 
 #DirectoryIndex index.php index.html
 
 #<FilesMatch \.php$>
 #    SetHandler application/x-httpd-php
 #</FilesMatch>


配置 PHP-FPM

编辑文件 /etc/php8/php-fpm.conf 以满足您的需求。

在配置中,您可能需要将默认用户和组从 nobody 更改为另一个用户,例如 apache

user = apache
group = apache

编辑配置后,重启 apache2 和 PHP-FPM

# rc-service php-fpm8 reload && rc-service apache2 reload


参见