下面给你一份在 Ubuntu 上部署 PHP-FPM 的实用指南,从安装到 Nginx/Apache 接入,适合常见 Web 场景。
以 Ubuntu 20.04 / 22.04 为例(其他版本类似)。
sudo apt update
sudo apt upgrade -y
sudo apt install php8.1-fpm php8.1-cli php8.1-common -y
如需常用扩展:
sudo apt install php8.1-mysql php8.1-curl php8.1-mbstring php8.1-xml php8.1-zip -y
PHP 版本可替换为
php8.2、php7.4等
systemctl status php8.1-fpm
启动 / 开机自启:
sudo systemctl start php8.1-fpm
sudo systemctl enable php8.1-fpm
sudo apt install nginx -y
编辑站点配置:
sudo nano /etc/nginx/sites-available/default
示例配置:
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;
}
}
sudo nginx -t
sudo systemctl restart nginx
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
sudo apt install apache2 -y
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.1-fpm
sudo systemctl restart apache2
| 项目 | 路径 |
|---|---|
| 主配置 | /etc/php/8.1/fpm/php-fpm.conf |
| 池配置 | /etc/php/8.1/fpm/pool.d/www.conf |
| sock 文件 | /run/php/php8.1-fpm.sock |
常用修改(www.conf):
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
修改后:
sudo systemctl restart php8.1-fpm
sudo chown -R www-data:www-data /var/www/html
update-alternatives --set php /usr/bin/php8.1
如果你需要:
告诉我你的使用场景,我可以进一步细化。