在 Ubuntu 上,PHP-FPM(FastCGI Process Manager)通常不“直接连接”,而是由 Web 服务器(Nginx / Apache)通过 FastCGI 协议调用。下面按常见场景给你说明。
PHP-FPM 是一个 FastCGI 服务,监听在某个端口或 Unix Socket 上,等待 Web 服务器请求。
sudo apt update
sudo apt install php-fpm
查看版本:
php -v
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
常见两种:
listen = /run/php/php8.2-fpm.sock
listen = 127.0.0.1:9000
修改后重启:
sudo systemctl restart php8.2-fpm
sudo apt install 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;
}
}
sudo systemctl restart nginx
sudo apt install apache2
sudo a2enmod proxy_fcgi
sudo a2enconf php8.2-fpm
sudo systemctl restart apache2
Apache 会自动连接 PHP-FPM(默认 socket)
创建测试文件:
echo "<?php phpinfo();" | sudo tee /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
看到 PHP 信息页面 ✅
检查:
systemctl status php8.2-fpm
ls -l /run/php/
PHP-FPM 不直接“连接”,而是 Web 服务器通过 socket 或端口调用它。
如果你告诉我:
我可以给你一份完全适配你环境的配置。