Linux php-fpm与Apache如何搭配
在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
),在
部分添加以下内容:SetHandler "proxy:fcgi://localhost:9000" ProxyPassMatch ^(.*)$ fcgi://localhost:9000/var/www/html/$1 这里的
localhost:9000
应与PHP-FPM配置中的listen
参数保持一致。/var/www/html
是你的网站根目录,根据实际情况进行修改。 -
重启Apache服务: 使用以下命令重启Apache服务以应用更改:
sudo systemctl restart apache2
现在,Apache已经配置为将PHP请求转发给PHP-FPM进程处理。你可以访问你的网站,看到PHP页面正常运行。