在 Ubuntu 上部署 ThinkPHP 项目,一般流程是:安装环境(PHP、Web 服务器、数据库)→ 上传代码 → 配置站点 → 设置权限。下面以 Ubuntu 20.04/22.04 + Nginx + PHP 8.1 + MySQL 为例说明。
sudo apt update
sudo apt upgrade -y
sudo apt install nginx -y
sudo apt install php8.1 php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip -y
查看 PHP 是否安装成功:
php -v
sudo apt install mysql-server -y
sudo mysql_secure_installation
cd /var/www
sudo git clone 你的项目地址 thinkphp_project
sudo mkdir -p /var/www/thinkphp_project
# 用 scp / FileZilla 上传代码到该目录
cd /var/www/thinkphp_project
sudo apt install composer -y
composer install
新建站点配置:
sudo nano /etc/nginx/sites-available/thinkphp
内容示例(重点:指向 public 目录):
server {
listen 80;
server_name yourdomain.com; # 或服务器IP
root /var/www/thinkphp_project/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/php8.1-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 reload nginx
sudo chown -R www-data:www-data /var/www/thinkphp_project
sudo chmod -R 755 /var/www/thinkphp_project
sudo chmod -R 777 /var/www/thinkphp_project/runtime
编辑配置文件:
cp .env.example .env
nano .env
常见配置:
APP_DEBUG = false
DB_HOST = 127.0.0.1
DB_DATABASE = test
DB_USERNAME = root
DB_PASSWORD = 123456
浏览器访问:
http://服务器IP
root 指向 publictry_files 配置正确tail -f /var/www/thinkphp_project/runtime/log/*
runtime 目录必须可写如果你用的是 Apache / 宝塔 / Docker / ThinkPHP 5 / 6 / 8,可以告诉我,我可以给你更具体的部署方案。