在 Ubuntu 上部署 ThinkPHP(以 ThinkPHP 6 为例,5.1 也类似)通常分为以下几步:
环境准备 → 安装 PHP → 安装 Composer → 部署 ThinkPHP → 配置 Web 服务器(Nginx / Apache)→ 访问测试
sudo apt update
sudo apt upgrade -y
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
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
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer -V
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
sudo apt install nginx -y
编辑配置:
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;
}
}
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 欢迎页面 ✅
tail -f /var/www/tp6/runtime/log/*
sudo systemctl status php8.1-fpm
✅ 确认 Nginx 重写规则已配置
composer create-project topthink/think=5.1.* tp5
其他步骤基本一致。
如果你愿意,我可以帮你:
直接告诉我你的 Ubuntu 版本和 ThinkPHP 版本即可。