在 Ubuntu 上部署 PHP-FPM(通常用于配合 Nginx 或 Apache 运行 PHP),一般步骤如下。下面以 Ubuntu 20.04 / 22.04 + Nginx + PHP-FPM 为例。
sudo apt update
sudo apt upgrade -y
sudo apt install nginx -y
以 PHP 8.1 为例(可换成 7.4 / 8.2 等):
sudo apt install php8.1-fpm php8.1-cli php8.1-common php8.1-mysql php8.1-mbstring php8.1-xml php8.1-curl -y
查看 PHP-FPM 状态:
systemctl status php8.1-fpm
sudo mkdir -p /var/www/example.com
sudo chown -R www-data:www-data /var/www/example.com
echo "<?php phpinfo(); ?>" | sudo tee /var/www/example.com/index.php
sudo nano /etc/nginx/sites-available/example.com
示例配置:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
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;
}
}
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
sudo ufw allow 'Nginx Full'
浏览器访问:
http://服务器IP
看到 phpinfo() 页面即成功。
sudo nano /etc/php/8.1/fpm/php.ini
常用:
upload_max_filesize = 64M
post_max_size = 64M
重启:
sudo systemctl restart php8.1-fpm
安装多个 PHP 版本,Nginx 中指定不同 fastcgi_pass 即可。
sudo apt install apache2 libapache2-mod-php8.1
(Apache 一般不用 PHP-FPM,除非用 proxy_fcgi)
如果你需要:
可以告诉我,我可以给你对应方案。