在 Ubuntu 上设置 PHP-FPM,通常按下面步骤来即可(以 PHP 8.1 为例,其他版本同理)。
sudo apt update
sudo apt install php-fpm
如果你需要指定版本(例如 PHP 8.2):
sudo apt install php8.2-fpm
安装完成后,服务名通常是:
php-fpm
# 或
php8.1-fpm
sudo systemctl status php8.1-fpm
启动 / 停止 / 重启:
sudo systemctl start php8.1-fpm
sudo systemctl stop php8.1-fpm
sudo systemctl restart php8.1-fpm
设置开机自启:
sudo systemctl enable php8.1-fpm
| 作用 | 路径 |
|---|---|
| 主配置 | /etc/php/8.1/fpm/php-fpm.conf |
| 池配置 | /etc/php/8.1/fpm/pool.d/www.conf |
| PHP 配置 | /etc/php/8.1/fpm/php.ini |
编辑池配置:
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
Unix Socket(推荐)
listen = /run/php/php8.1-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
TCP(不推荐,除非跨服务器)
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
如果是 高并发站点,可改为:
pm = ondemand
pm.max_children = 100
user = www-data
group = www-data
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
}
测试并重载 Nginx:
sudo nginx -t
sudo systemctl reload nginx
sudo apt install libapache2-mod-fcgid
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.1-fpm
sudo systemctl restart apache2
创建测试文件:
echo "<?php phpinfo();" | sudo tee /var/www/html/info.php
访问:
http://服务器IP/info.php
看到 Server API = FPM/FastCGI 即成功 ✅
查看日志:
sudo tail -f /var/log/php8.1-fpm.log
sudo tail -f /var/log/nginx/error.log
如果你愿意,我可以帮你:
直接告诉我你的 Ubuntu 版本 + PHP 版本 + Web 服务器 即可。