在Linux系统中,PHP-FPM(FastCGI Process Manager)与Apache可以通过mod_proxy_fcgi模块进行搭配使用。这样可以让Apache作为反向代理服务器,将PHP请求转发给PHP-FPM进程处理。以下是配置步骤:
安装Apache和PHP-FPM: 根据你的Linux发行版,使用相应的包管理器安装Apache和PHP-FPM。例如,在基于Debian的系统中,可以使用以下命令安装:
sudo apt-get update
sudo apt-get install apache2 libapache2-mod-fcgid php-fpm
配置PHP-FPM:
编辑PHP-FPM配置文件(通常位于/etc/php/版本号/fpm/pool.d/www.conf
),设置listen
参数为一个Unix套接字文件(例如/var/run/php/php7.4-fpm.sock
)或TCP端口(例如127.0.0.1:9000
)。例如:
listen = /var/run/php/php7.4-fpm.sock
然后重启PHP-FPM服务:
sudo systemctl restart php7.4-fpm
启用Apache的mod_proxy_fcgi模块: 使用以下命令启用mod_proxy_fcgi模块:
sudo a2enmod proxy_fcgi setenvif
配置Apache虚拟主机:
编辑Apache虚拟主机配置文件(通常位于/etc/apache2/sites-available/000-default.conf
),在<VirtualHost>
部分添加以下内容:
<FilesMatch \.php$>
SetHandler "proxy:fcgi://localhost:9000"
ProxyPassMatch ^(.*)$ fcgi://localhost:9000/var/www/html/$1
</FilesMatch>
这里的localhost:9000
应与PHP-FPM配置中的listen
参数保持一致。/var/www/html
是你的网站根目录,根据实际情况进行修改。
重启Apache服务: 使用以下命令重启Apache服务以应用更改:
sudo systemctl restart apache2
现在,Apache已经配置为将PHP请求转发给PHP-FPM进程处理。你可以访问你的网站,看到PHP页面正常运行。