linux

Linux php-fpm与Apache如何搭配

小樊
42
2025-08-19 10:36:58
栏目: 编程语言

在Linux系统中,PHP-FPM(FastCGI Process Manager)与Apache可以通过mod_proxy_fcgi模块进行搭配使用。这样可以让Apache作为反向代理服务器,将PHP请求转发给PHP-FPM进程处理。以下是配置步骤:

  1. 安装Apache和PHP-FPM: 根据你的Linux发行版,使用相应的包管理器安装Apache和PHP-FPM。例如,在基于Debian的系统中,可以使用以下命令安装:

    sudo apt-get update
    sudo apt-get install apache2 libapache2-mod-fcgid php-fpm
    
  2. 配置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
    
  3. 启用Apache的mod_proxy_fcgi模块: 使用以下命令启用mod_proxy_fcgi模块:

    sudo a2enmod proxy_fcgi setenvif
    
  4. 配置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是你的网站根目录,根据实际情况进行修改。

  5. 重启Apache服务: 使用以下命令重启Apache服务以应用更改:

    sudo systemctl restart apache2
    

现在,Apache已经配置为将PHP请求转发给PHP-FPM进程处理。你可以访问你的网站,看到PHP页面正常运行。

0
看了该问题的人还看了