温馨提示×

ubuntu php-fpm怎样部署

小樊
45
2026-09-22 15:49:48
栏目: 编程语言

下面给你一份在 Ubuntu 上部署 PHP-FPM 的实用指南,从安装到 Nginx/Apache 接入,适合常见 Web 场景。


一、环境准备

以 Ubuntu 20.04 / 22.04 为例(其他版本类似)。

sudo apt update
sudo apt upgrade -y

二、安装 PHP-FPM

1. 安装 PHP 及 FPM(以 PHP 8.1 为例)

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 等


2. 检查 PHP-FPM 状态

systemctl status php8.1-fpm

启动 / 开机自启:

sudo systemctl start php8.1-fpm
sudo systemctl enable php8.1-fpm

三、与 Nginx 配合使用(最常见)

1. 安装 Nginx

sudo apt install nginx -y

2. 配置 Nginx 站点

编辑站点配置:

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;
    }
}

3. 重启服务

sudo nginx -t
sudo systemctl restart nginx

4. 测试 PHP

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

浏览器访问:

http://服务器IP/info.php

四、与 Apache 配合使用(可选)

1. 安装 Apache

sudo apt install apache2 -y

2. 禁用 PHP 模块,启用 proxy_fcgi

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.1-fpm

3. 重启

sudo systemctl restart apache2

五、PHP-FPM 常见配置位置

项目 路径
主配置 /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

六、常见问题排查

1. 502 Bad Gateway

  • sock 路径不对
  • php-fpm 未启动
  • 权限问题(www-data)

2. 文件无执行权限

sudo chown -R www-data:www-data /var/www/html

3. 多 PHP 版本共存

update-alternatives --set php /usr/bin/php8.1

如果你需要:

  • Docker 部署 PHP-FPM
  • LNMP 一键安装
  • 生产环境性能调优
  • HTTPS + PHP-FPM

告诉我你的使用场景,我可以进一步细化。

0 踩