温馨提示×

怎么在Ubuntu部署PHP

小樊
32
2026-08-24 10:25:00
栏目: 编程语言

Ubuntu 上部署 PHP,常见场景有 命令行运行配合 Web 服务器(Nginx / Apache)运行。下面给你一套 最常用、最实用的部署方案,从简单到完整。


一、Ubuntu 安装 PHP(基础)

1️⃣ 更新软件源

sudo apt update
sudo apt upgrade -y

2️⃣ 安装 PHP(默认版本)

Ubuntu 22.04 / 24.04 默认仓库中 PHP 版本较新:

sudo apt install php -y

查看版本:

php -v

3️⃣ 安装常用 PHP 扩展(强烈推荐)

sudo apt install php-cli php-fpm php-mysql php-curl php-mbstring php-xml php-zip php-gd -y

✅ 常见扩展说明:

扩展 用途
php-cli 命令行运行
php-fpm Nginx 使用
php-mysql MySQL 连接
php-curl 网络请求
php-mbstring 多字节字符串
php-xml XML 处理
php-zip 压缩支持

二、PHP + Nginx 部署(✅ 最常见)

1️⃣ 安装 Nginx

sudo apt install nginx -y

启动并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

2️⃣ 安装 PHP-FPM

sudo apt install php-fpm -y

查看 PHP-FPM 服务名:

systemctl status php*-fpm

例如:

php8.1-fpm

3️⃣ 配置 Nginx 支持 PHP

编辑站点配置:

sudo nano /etc/nginx/sites-available/default

修改成如下内容(重点):

server {
    listen 80;
    server_name your_domain_or_ip;

    root /var/www/html;
    index index.php index.html;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    }
}

⚠️ 注意:php8.1-fpm.sock 要和你安装的版本一致


4️⃣ 测试 PHP

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

浏览器访问:

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

三、PHP + Apache 部署(常规方案)

1️⃣ 安装 Apache

sudo apt install apache2 -y

2️⃣ 安装 PHP(Apache 模块)

sudo apt install libapache2-mod-php -y

3️⃣ 重启 Apache

sudo systemctl restart apache2

4️⃣ 测试 PHP

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

访问:

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

四、多版本 PHP(进阶)

如果你需要 PHP 7.4 / 8.1 / 8.2 共存

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

安装指定版本:

sudo apt install php8.2 php8.2-fpm -y

切换版本:

sudo update-alternatives --config php

五、常见问题排查

❌ 502 Bad Gateway

  • PHP-FPM 没启动
sudo systemctl start php8.1-fpm

❌ Nginx 不解析 PHP

  • 检查 fastcgi_pass 路径
  • 检查 .php 文件权限

六、推荐使用场景

场景 推荐
新项目 PHP 8.1+ + Nginx
老项目 PHP 7.4
本地开发 PHP CLI + Nginx
生产环境 PHP-FPM

如果你愿意,可以告诉我:

  • ✅ Ubuntu 版本(20.04 / 22.04 / 24.04)
  • ✅ 是否用 Nginx / Apache
  • ✅ 是否部署 Laravel / ThinkPHP / WordPress

我可以给你 精确到命令级别 的部署方案。

0