下面按最常见的 Ubuntu + Nginx + PHP-FPM场景,给你一份从安装到配置的完整说明(以 PHP 8.1 为例,其他版本同理)。
sudo apt update
sudo apt install php-fpm php-cli php-mysql php-curl php-gd php-mbstring php-xml php-zip
安装完成后,PHP-FPM 服务一般会自动启动。
查看版本:
php -v
PHP-FPM 在 Ubuntu 中是以 systemd 服务方式运行的:
# 启动
sudo systemctl start php8.1-fpm
# 开机自启
sudo systemctl enable php8.1-fpm
# 查看状态
sudo systemctl status php8.1-fpm
# 重启
sudo systemctl restart php8.1-fpm
主要目录:
/etc/php/8.1/
├── fpm/
│ ├── php-fpm.conf
│ ├── pool.d/
│ │ └── www.conf
└── cli/
└── php.ini
/etc/php/8.1/fpm/php-fpm.conf
/etc/php/8.1/fpm/pool.d/www.conf
常见参数:
user = www-data
group = www-data
listen = /run/php/php8.1-fpm.sock
; 或监听端口
; listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
修改后重启:
sudo systemctl restart php8.1-fpm
Nginx 站点配置示例:
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
fastcgi_pass 127.0.0.1:9000;
并修改 www.conf:
listen = 127.0.0.1:9000
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
看到 PHP 信息页即配置成功。
⚠️ 测试完建议删除:
sudo rm /var/www/html/info.php
fastcgi_pass 路径不对检查:
ls -l /run/php/
sudo systemctl status php8.1-fpm
网站目录建议:
sudo chown -R www-data:www-data /var/www/html
如果你用的是 Apache + PHP-FPM 或 Docker / LNMP 面板,或者想做 多版本 PHP 共存,可以告诉我,我给你对应方案。