温馨提示×

Ubuntu怎么部署ThinkPHP

小樊
43
2026-08-25 08:21:42
栏目: 编程语言

在 Ubuntu 上部署 ThinkPHP(以 ThinkPHP 6 为例,5.1 也类似)通常分为以下几步:
环境准备 → 安装 PHP → 安装 Composer → 部署 ThinkPHP → 配置 Web 服务器(Nginx / Apache)→ 访问测试


一、环境准备

1️⃣ 更新系统

sudo apt update
sudo apt upgrade -y

二、安装 PHP(推荐 PHP 8.0+)

1️⃣ 添加 PHP 源(Ubuntu 20.04 / 22.04)

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

2️⃣ 安装 PHP 及常用扩展

sudo apt install -y php8.1 php8.1-cli php8.1-fpm \
php8.1-mysql php8.1-curl php8.1-mbstring \
php8.1-xml php8.1-zip php8.1-gd php8.1-redis

✅ ThinkPHP 6 要求 PHP ≥ 7.2,推荐 PHP 8.0 / 8.1

查看版本:

php -v

三、安装 Composer

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer -V

四、创建 ThinkPHP 项目

方式一:全新项目(推荐)

cd /var/www
composer create-project topthink/think tp6

目录结构:

tp6/
├── app
├── public
├── config
├── route
└── .env

方式二:已有项目

cd /var/www
git clone your_project.git
cd your_project
composer install

五、配置 Web 服务器(推荐 Nginx)

1️⃣ 安装 Nginx

sudo apt install nginx -y

2️⃣ 配置 Nginx

编辑配置:

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

示例配置(✅ 重点):

server {
    listen 80;
    server_name your_domain_or_ip;

    root /var/www/tp6/public;
    index index.php index.html index.htm;

    location / {
        if (!-e $request_filename) {
            rewrite ^(.*)$ /index.php?s=$1 last;
            break;
        }
    }

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

    location ~ /\.ht {
        deny all;
    }
}

3️⃣ 启用配置

sudo ln -s /etc/nginx/sites-available/tp6 /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

六、权限设置(非常重要)

sudo chown -R www-data:www-data /var/www/tp6
sudo chmod -R 755 /var/www/tp6

如果使用了 runtime 目录:

sudo chmod -R 777 /var/www/tp6/runtime

七、配置数据库(可选)

编辑:

nano /var/www/tp6/.env

示例:

APP_DEBUG = false

DB_HOST = 127.0.0.1
DB_PORT = 3306
DB_DATABASE = test
DB_USERNAME = root
DB_PASSWORD = 123456

八、访问测试

浏览器访问:

http://服务器IP

看到 ThinkPHP 欢迎页面 ✅


九、常见问题

❌ 1. 页面空白 / 500

tail -f /var/www/tp6/runtime/log/*

❌ 2. PHP 不解析

sudo systemctl status php8.1-fpm

❌ 3. 路由失效

✅ 确认 Nginx 重写规则已配置


十、如果是 ThinkPHP 5.1

composer create-project topthink/think=5.1.* tp5

其他步骤基本一致。


如果你愿意,我可以帮你:

  • ✅ 配置 HTTPS(Let’s Encrypt)
  • ✅ 部署到 生产环境(优化)
  • ✅ 使用 Apache
  • ✅ Docker 部署 ThinkPHP

直接告诉我你的 Ubuntu 版本和 ThinkPHP 版本即可。

0