🚀 项目部署教程
宝塔面板 · PHP 5.6 · MySQL 5.6 · ThinkPHP
一、环境准备
| 项目 | 版本 | 备注 |
|---|---|---|
| PHP | 5.6 | 仅兼容 5.6,不支持其他版本,装好后在软件商店装 Redis 扩展 |
| MySQL | 5.6 | 仅兼容 5.6,不支持其他版本 |
| Nginx | 任意 | 推荐 |
二、站点配置
1添加站点,PHP 选 PHP-56
2运行目录改为 /public
3伪静态选 thinkphp
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
三、数据库
1宝塔 → 数据库 → 添加数据库
2导入项目中的 .sql 文件
3修改项目配置文件中的数据库连接信息
四、计划任务(auto)
宝塔面板 → 计划任务 → 添加任务,按以下配置填写:
| 配置项 | 填写内容 |
|---|---|
| 任务类型 | Shell脚本 |
| 任务名称 | game-auto |
| 执行周期 | N秒,间隔 5 秒 |
| 执行用户 | www |
| 脚本内容 | 见下方 |
脚本内容(将 你的域名 替换为实际目录):
cd /www/wwwroot/你的域名 && php think auto >/dev/null 2>&1
💡 用途:🔧 自动任务 — 定时结算、排行刷新、过期数据清理等,每 5 秒执行一次
五、Supervisor 守护进程
⚠️ 这些是常驻进程(内部死循环),不能放 crontab!
宝塔 → 软件商店 → 安装 Supervisor,然后添加以下两个守护进程:
| 配置项 | game-test | game-open |
|---|---|---|
| 名称 | game-test | game-open |
| 启动用户 | www | www |
| 进程数量 | 1 | 1 |
| 启动优先级 | 999 | 999 |
| 启动命令 | /www/server/php/56/bin/php think test | /www/server/php/56/bin/php think open |
| 进程目录 | /www/wwwroot/你的域名 | |
各进程用途:
| 进程 | 用途 |
|---|---|
| game-test | 🧪 测试服 — 处理测试服游戏逻辑,上线后可关停 |
| game-open | 🎮 正式服 — 生产环境主进程,房间匹配、对局管理等,必须保持运行 |
💡 启动命令必须写 PHP 完整路径
/www/server/php/56/bin/php,不能只写 php将 你的域名 替换为实际目录,例:/www/wwwroot/ytmgcjp.cn
可直接复制启动命令:
game-test 启动命令:
/www/server/php/56/bin/php think test
game-open 启动命令:
/www/server/php/56/bin/php think open
添加后确认两个进程状态均为 ● RUNNING
六、常用操作
查看进程:
ps aux | grep "php think"
重启守护进程:
supervisorctl restart game-test
supervisorctl restart game-open
停止守护进程:
supervisorctl stop game-test
supervisorctl stop game-open
think 文件无权限时:
chmod +x /www/wwwroot/你的域名/think
七、部署检查清单
| # | 检查项 | ✓ |
|---|---|---|
| 1 | PHP 5.6 + Redis 扩展 | ☐ |
| 2 | MySQL 5.6 + 数据库已导入 | ☐ |
| 3 | 运行目录 /public | ☐ |
| 4 | 伪静态 thinkphp | ☐ |
| 5 | 数据库配置已修改 | ☐ |
| 6 | 计划任务 game-auto 已添加(每5秒) | ☐ |
| 7 | game-test RUNNING | ☐ |
| 8 | game-open RUNNING | ☐ |
| 9 | 网站可正常访问 | ☐ |

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,受《中华人民共和国著作权法》及相关法律法规保护。任何个人或组织,在未征得本站书面同意时,禁止复制、盗用、采集、篡改、发布本站内容到任何网站、小程序、自媒体、书籍等各类线上线下媒体平台,一经发现侵权行为,本站将保留追究其法律责任、索要经济赔偿的权利。如若本站内容侵犯了原著者的合法权益,权利人可提供相关权属证明联系我们,核实后将第一时间处理。


