php-fpm在ubuntu如何连接

作者:袖梨 2026-08-13

在 Ubuntu 上,PHP-FPM(FastCGI Process Manager)通常不“直接连接”,而是由 Web 服务器(Nginx / Apache)通过 FastCGI 协议调用。下面按常见场景给你说明。

php-fpm在ubuntu如何连接

一、PHP-FPM 是什么?

PHP-FPM 是一个 FastCGI 服务,监听在某个端口或 Unix Socket 上,等待 Web 服务器请求。

二、安装 PHP-FPM(Ubuntu)

sudo apt update

sudo apt install php-fpm

查看版本:

php -v

三、确认 PHP-FPM 监听方式(重点)

查看 PHP-FPM 配置文件

ls /etc/php/*/fpm/pool.d/

通常是:

/etc/php/8.2/fpm/pool.d/www.conf

查看监听方式

grep listen /etc/php/8.2/fpm/pool.d/www.conf

常见两种:

Unix Socket(推荐)

listen = /run/php/php8.2-fpm.sock

TCP 端口

listen = 127.0.0.1:9000

修改后重启:

sudo systemctl restart php8.2-fpm

四、Nginx 连接 PHP-FPM(最常见)

安装 Nginx

sudo apt install nginx

Nginx 配置示例

server {

listen 80;

server_name localhost;

root /var/www/html;

index index.php;

location ~ .php$ {

include fastcgi_params;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

# Socket 方式

fastcgi_pass unix:/run/php/php8.2-fpm.sock;

# TCP 方式(二选一)

# fastcgi_pass 127.0.0.1:9000;

}

}

重启 Nginx

sudo systemctl restart nginx

五、Apache 连接 PHP-FPM

启用 proxy_fcgi

sudo apt install apache2

sudo a2enmod proxy_fcgi

sudo a2enconf php8.2-fpm

重启 Apache

sudo systemctl restart apache2

Apache 会自动连接 PHP-FPM(默认 socket)

六、测试 PHP-FPM 是否成功

创建测试文件:

echo "<?php phpinfo();" | sudo tee /var/www/html/info.php

浏览器访问:

http://服务器IP/info.php

看到 PHP 信息页面

七、常见问题排查

502 Bad Gateway

  1. PHP-FPM 没启动
  2. socket 路径错误
  3. socket 权限不足

检查:

systemctl status php8.2-fpm

ls -l /run/php/

访问 PHP 直接下载

  1. Nginx / Apache 没有正确配置 fastcgi_pass

八、一句话总结

PHP-FPM 不直接“连接”,而是 Web 服务器通过 socket 或端口调用它。

如果你告诉我:

  1. 用的是 Nginx 还是 Apache
  2. Ubuntu 版本
  3. PHP 版本

我可以给你一份完全适配你环境的配置

相关文章

精彩推荐