ubuntu

Ubuntu中php-fpm与Apache如何配合

小樊
42
2025-06-19 09:31:43
栏目: 编程语言

在Ubuntu系统中,PHP-FPM(FastCGI Process Manager)通常与Nginx一起使用,而不是Apache。但是,如果你确实需要在Apache中使用PHP-FPM,可以通过以下步骤实现:

  1. 安装PHP-FPM: 在终端中运行以下命令来安装PHP-FPM:

    sudo apt-get update
    sudo apt-get install php-fpm
    
  2. 配置PHP-FPM: 编辑PHP-FPM配置文件,默认路径为/etc/php/7.x/fpm/pool.d/www.conf(其中7.x是你的PHP版本)。你可以根据需要修改以下设置:

    • listen:监听地址,可以设置为Unix socket(例如:/run/php/php7.x-fpm.sock)或TCP端口(例如:127.0.0.1:9000)。
    • listen.ownerlisten.group:监听地址的所有者和组。
    • usergroup:PHP-FPM进程的用户和组。

    修改完成后,重启PHP-FPM服务:

    sudo systemctl restart php7.x-fpm
    
  3. 安装并配置Apache: 如果你还没有安装Apache,请运行以下命令来安装:

    sudo apt-get install apache2
    

    然后,启用proxy_fcgisetenvif模块:

    sudo a2enmod proxy_fcgi setenvif
    
  4. 配置Apache虚拟主机: 编辑Apache虚拟主机配置文件,默认路径为/etc/apache2/sites-available/000-default.conf。在<VirtualHost>部分添加以下内容:

    <FilesMatch \.php$>
        SetHandler "proxy:unix:/run/php/php7.x-fpm.sock|fcgi://localhost"
    </FilesMatch>
    

    7.x替换为你的PHP版本。如果你使用的是TCP端口而不是Unix socket,请将unix:/run/php/php7.x-fpm.sock替换为fcgi://127.0.0.1:9000

    保存更改并退出。

  5. 重启Apache服务:

    sudo systemctl restart apache2
    

现在,Apache应该已经成功配置为使用PHP-FPM处理PHP请求。你可以通过创建一个包含PHP代码的.php文件来测试配置是否正确。如果一切正常,你应该能看到PHP代码的执行结果。

0
看了该问题的人还看了