下面是在 Debian 上配置 PHP-FPM 的常用做法,适用于 Debian 10/11/12(也适合 Ubuntu,只是版本号略有差异)。我会从 安装 → 基本配置 → 与 Nginx / Apache 对接 → 常见问题 一步步说明。
sudo apt update
sudo apt install php8.2-fpm
如果你需要其他版本:
sudo apt install php7.4-fpm
sudo apt install php8.1-fpm
安装完成后,服务会自动启动。
systemctl status php8.2-fpm
启动 / 重启 / 停止:
sudo systemctl start php8.2-fpm
sudo systemctl restart php8.2-fpm
sudo systemctl stop php8.2-fpm
设置开机自启:
sudo systemctl enable php8.2-fpm
PHP-FPM 主要配置文件在:
/etc/php/8.2/fpm/
常用文件:
php-fpm.conf:主配置pool.d/www.conf:默认进程池(最重要)php.ini:PHP 配置(路径:/etc/php/8.2/fpm/php.ini)sudo nano /etc/php/8.2/fpm/pool.d/www.conf
常见修改项:
listen = /run/php/php8.2-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
user = www-data
group = www-data
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
修改后重启:
sudo systemctl restart php8.2-fpm
sudo apt install nginx
示例站点配置:
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
}
sudo nginx -t
sudo systemctl reload nginx
sudo apt install apache2
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.2-fpm
sudo systemctl restart apache2
创建测试文件:
echo "<?php phpinfo();" | sudo tee /var/www/html/info.php
浏览器访问:
http://your_server_ip/info.php
确认:
✅ 测试完成后建议删除:
sudo rm /var/www/html/info.php
原因:
检查:
systemctl status php8.2-fpm
ls -l /run/php/php8.2-fpm.sock
确保:
chown -R www-data:www-data /var/www/html
pm.*display_errorsopcachesudo apt install php8.2-opcache
如果你愿意,我可以:
直接把你的 Debian 版本 + Web 服务器 + PHP 版本 发我即可。