宝塔面板部署 ThinkPHP6 后端

先手工作:项目构建

安装 PHPStudy

安装完成后 如下操作

  • 先 安装 composer2.5.8

  • 再 初始化 tp6 项目

    composer create-project topthink/think:^6.0 tp6_demo

启动项目

配置完就能直接浏览器访问了:

  1. 打开 phpStudy → 左侧 【网站】 → 点击 【创建网站】

  2. 填写信息:

    • 域名 :随便填(比如 tp6.local
    • 端口:默认80(被占用就改8080)
    • 根目录必须选 D:\phpstudy_pro\WWW\tp6_demo\public
    • PHP版本 :选 8.0.2nts
  3. 点击 确认

  4. 打开浏览器,输入你填的域名(比如 http://tp6.local

    看到 ThinkPHP 6.0 欢迎页面 = 全部大功告成!

nginx 伪静态设置

网站 → 伪静态,清空原有内容,粘贴下面官方标准规则

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

如果没有设置伪静态,http://localhost:8086/test 绝对打不开!一定会报 404 错误!

不设置伪静态,只能用这种丑地址才能访问:http://localhost:8086/index.php?s=test

编辑项目

第一步:开启调试模式(看真实错误)

  1. 打开你的项目目录:D:\phpstudy_pro\WWW\tp6_demo
  2. 找到文件:.env(如果没有,复制 .example.env 重命名为 .env
  3. 打开 .env,修改这一行:
ini 复制代码
APP_DEBUG = true

保存,刷新页面,就能看到真实报错


第二步:创建 Test 控制器(必须做,才能访问 /test)

  1. 进入目录:tp6_demo/app/controller
  2. 新建文件:Test.php,复制下面代码:
php 复制代码
<?php
namespace app\controller;

class Test
{
    public function index()
    {
        return '我是Test页面!访问成功';
    }
}

保存后,刷新 http://localhost:8086/test,就能正常打开!


一、第一步:宝塔安装运行环境(和你本地环境匹配)

打开宝塔 → 左侧 软件商店,安装这3个软件(必须装,版本和本地一致)

  1. Nginx(Web服务,选最新稳定版)
  2. MySQL 5.7 / 8.0(数据库,和你本地一致)
  3. PHP 8.0必须选PHP8.0,和你本地版本一样 ,Linux 是 php8.0-fpm,没有nts)

给PHP8.0安装必备扩展(TP6必须)

找到 PHP8.0 → 点击【设置】→【安装扩展】,勾选安装:
fileinfo、openssl、mbstring、pdo_mysql、redis

安装完 一定要 重启一下!

二、第二步:新建网站(核心!和你本地配置完全对应)

  1. 左侧【网站】→【添加站点】
  2. 填写信息:
    • 域名 :填你的域名(没有域名直接填服务器公网IP
    • 根目录/www/wwwroot/你的站点名/public
      ⚠️ 重点:和本地一样!网站根目录必须直接指向项目的 public 文件夹
    • PHP版本:选择 PHP-8.0
    • 数据库:勾选【创建数据库】,记录数据库名、账号、密码
  3. 点击【提交】

三、第三步:本地 TP6 项目 上线前修改(必须改)

打开你本地电脑的 TP6 项目,修改2个文件:

1. 关闭调试模式(上线安全!)

打开项目根目录 .env 文件

ini 复制代码
# 改为 false,禁止报错信息泄露
APP_DEBUG = false

2. 配置服务器数据库信息

打开 .envconfig/database.php,改成宝塔新建的数据库账号密码

ini 复制代码
DB_HOST=127.0.0.1
DB_NAME=宝塔给你的数据库名
DB_USER=宝塔数据库用户名
DB_PASS=宝塔数据库密码
DB_PORT=3306

3. 清理缓存

删除项目里 runtime 文件夹里所有文件(缓存)


四、第四步:上传项目到服务器

  1. 宝塔左侧【文件】→ 进入你的站点根目录上级(/www/wwwroot/你的站点名/

  2. 把你本地整个 tp6_demo 项目,全部上传到这里
    上传后结构:

    复制代码
    /www/wwwroot/你的站点名/
    ├─ app/
    ├─ public/  ← 网站根目录指向这里
    ├─ config/
    └─ ...

五、第五步:配置伪静态(和你本地一模一样!)

  1. 网站列表 → 找到你的站点 → 点击【设置】
  2. 切换到【伪静态】
  3. 直接粘贴 Nginx 专用 TP6 规则(复制下面全部):
nginx 复制代码
if (!-e $request_filename) {
    rewrite ^(.*)$ /index.php?s=$1 last;
    break;
}
  1. 点击【保存】

六、第六步:设置目录权限(Linux 必做!90%报错都是权限问题)

  1. 回到文件管理,找到项目的2个目录:
    • runtime(缓存目录)
    • public
  2. 右键 → 权限,设置为 755
    (宝塔里直接勾选读写执行,不用记数字)

七、第七步:导入数据库

  1. 宝塔左侧【数据库】→ 找到你创建的数据库 → 点击【导入】
  2. 上传你本地导出的 .sql 数据库文件,导入即可

八、第八步:放行服务器安全组(必须!否则外网访问不了)

腾讯云后台 → 安全组 → 添加入站规则,放行端口:

  • 80(http访问)
  • 443(https)
  • 22(远程连接)

九、测试访问 & 后端接口使用

浏览器/Postman 访问:
http://你的IP或域名/接口地址

例:http://xxx.xxx.xxx.xxx/test


针对你做后端API的额外配置(必看)

1. 开启跨域(前端调用接口必开)

在 TP6 项目 config/cors.php 开启跨域,或安装跨域中间件,解决前端跨域报错。

2. 隐藏入口文件(伪静态已搞定)

不用再写 index.php?s=,直接路由访问接口。

3. 禁止直接访问项目目录

宝塔默认Nginx已防护,不用额外设置。


最简总结(和你本地操作一一对应)

  1. 宝塔装:Nginx + MySQL5.7 + PHP8.0
  2. 新建站点,根目录指向 public
  3. 上传项目、改数据库配置、关闭调试
  4. 配置伪静态、设置权限
  5. 放行安全组,完成!
相关推荐
幽络源小助理4 小时前
MacCMSPro版视频影视系统源码_全开源高可用视频平台解决方案
前端·php·php源码
TO_WebNow16 小时前
使用thinkPHP8.x 访问接口提示跨域
前端·php
JSON_L18 小时前
PHP使用Intervention Image图像处理
图像处理·php·intervention
treesforest20 小时前
IP数据库下载完全指南:免费与商业IP定位库对比
网络·数据库·php
原来是猿21 小时前
网络计算器:理解序列化与反序列化(下)
linux·开发语言·网络·网络协议·json·php
原来是猿21 小时前
Linux守护进程(Daemon)完全指南:从原理到实战
linux·运维·服务器·网络·php
阿洛学长1 天前
更好用的Wordpress二次元主题!Mokore更新1.2啦
php
AIBox3651 天前
Claude 中转站怎么接入:2026 年国内调用 Claude API 的方法、能力与示例
服务器·开发语言·人工智能·gpt·php·python3.11
gskyi1 天前
libvips相比GD与Imagick的性能优势
php·imagen