下面给你一份在 Ubuntu 上部署 ThinkPHP 项目的常见完整流程(以 ThinkPHP 6/8 + Nginx + PHP-FPM + MySQL 为例,最常用)。
sudo apt update
sudo apt upgrade -y
sudo apt install nginx -y
ThinkPHP 一般要求 PHP 7.4+(推荐 8.1+)
sudo apt install php php-fpm php-mysql php-mbstring php-xml php-curl php-zip php-gd -y
查看 PHP 版本:
php -v
cd /var/www
sudo mkdir thinkphp
sudo chown -R $USER:$USER thinkphp
用 scp / git / FTP 上传项目到:
/var/www/thinkphp
cd /var/www
composer create-project topthink/think thinkphp
cd /var/www/thinkphp
sudo chown -R www-data:www-data .
sudo chmod -R 755 .
sudo chmod -R 777 runtime
ThinkPHP 的
runtime目录必须可写
新建配置文件:
sudo vim /etc/nginx/sites-available/thinkphp
示例配置(重点看 rewrite):
server {
listen 80;
server_name yourdomain.com; # 或服务器IP
root /var/www/thinkphp/public;
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/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
}
启用站点:
sudo ln -s /etc/nginx/sites-available/thinkphp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
sudo apt install mysql-server -y
sudo mysql_secure_installation
创建数据库:
CREATE DATABASE thinkphp CHARACTER SET utf8mb4;
修改 ThinkPHP 配置:
/var/www/thinkphp/config/database.php
cd /var/www/thinkphp
composer install
ThinkPHP 默认使用 PATHINFO:
URL 示例:
http://ip/index.php/index/index
若想隐藏 index.php,Nginx 已配置 try_files 即可。
tail -f /var/www/thinkphp/runtime/log/*
root 是否指向 publictry_filessudo chown -R www-data:www-data /var/www/thinkphp
APP_DEBUGAPP_DEBUG = false
如果你愿意,可以告诉我:
我可以直接给你对应版本的具体配置。