温馨提示×

ubuntu php-fpm怎么部署

小樊
48
2026-09-07 11:16:40
栏目: 编程语言

在 Ubuntu 上部署 PHP-FPM(通常用于配合 Nginx 或 Apache 运行 PHP),一般步骤如下。下面以 Ubuntu 20.04 / 22.04 + Nginx + PHP-FPM 为例。


一、更新系统

sudo apt update
sudo apt upgrade -y

二、安装 Nginx 和 PHP-FPM

1. 安装 Nginx

sudo apt install nginx -y

2. 安装 PHP-FPM

以 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

三、配置 Nginx 使用 PHP-FPM

1. 创建站点目录

sudo mkdir -p /var/www/example.com
sudo chown -R www-data:www-data /var/www/example.com

2. 创建测试 PHP 文件

echo "<?php phpinfo(); ?>" | sudo tee /var/www/example.com/index.php

3. 配置 Nginx 虚拟主机

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

4. 启用站点

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() 页面即成功。


六、常见补充

1. 修改 PHP 配置

sudo nano /etc/php/8.1/fpm/php.ini

常用:

upload_max_filesize = 64M
post_max_size = 64M

重启:

sudo systemctl restart php8.1-fpm

2. 多 PHP 版本共存

安装多个 PHP 版本,Nginx 中指定不同 fastcgi_pass 即可。

3. 配合 Apache(可选)

sudo apt install apache2 libapache2-mod-php8.1

(Apache 一般不用 PHP-FPM,除非用 proxy_fcgi


如果你需要:

  • Laravel / ThinkPHP 部署
  • HTTPS(Let’s Encrypt)
  • Docker 方式部署 PHP-FPM
  • 多站点 / 多版本 PHP

可以告诉我,我可以给你对应方案。

0