🚀 北辰匿名聊天室部署指南(开源版)
📋 前期准备
在开始部署前,请确保具备以下基础环境:
- 虚拟主机/服务器:支持 PHP 7.4 及以上版本(兼容宝塔面板、cPanel、阿里云虚拟主机等)。
- MySQL 数据库:大部分虚拟主机购买后免费赠送,需记录数据库名、账号及密码。
- 文件传输工具:推荐使用 FileZilla FTP 客户端,或直接使用主机商提供的在线文件管理器。
🛠️ 全套搭建步骤(预计耗时:10分钟)
第一步:导入数据库结构(约 2 分钟)
- 登录虚拟主机控制面板,找到并进入 phpMyAdmin 数据库管理工具。
- 在左侧列表中选中你已创建好的数据库。
- 点击顶部导航栏的 【导入】 选项卡。
- 点击“选择文件”,上传源码包内的
php-api/database.sql文件。 - 点击底部 【执行】 按钮。
- 等待页面提示“导入成功”。此时数据库中应自动生成
rooms和messages两张数据表。
注意:导入时若遇到编码选项,请务必选择 utf8mb4,以防止后续出现中文乱码。
第二步:配置数据库连接(约 1 分钟)
- 使用记事本或 VS Code 打开后端配置文件:
php-api/config.php。 - 找到以下定义常量部分,将其替换为你虚拟主机后台提供的真实数据库信息:
php
define('DB_HOST', 'localhost'); // 数据库地址(通常为 localhost)
define('DB_NAME', 'your_database'); // 数据库名称
define('DB_USER', 'your_username'); // 数据库账号
define('DB_PASS', 'your_password'); // 数据库密码
- 修改完成后,保存文件。
第三步:上传网站文件(约 5 分钟)
通过 FTP 或在线文件管理器,将文件上传至网站根目录(通常为 public_html 或 wwwroot)。
📂 需要上传的文件结构:
- 前端文件:将
dist文件夹内的所有内容上传至根目录。- 包含:
index.html、favicon.svg、assets/文件夹(内含 JS/CSS 资源)。
- 包含:
- 后端文件将整个
php-api文件夹上传至根目录下。- 路径应为:
public_html/php-api/
- 路径应为:
✅最终目录结构参考:
text
public_html/
├── index.html # 首页入口
├── favicon.svg # 网站图标
├── assets/ # 静态资源目录
│ ├── index-xxx.js
│ └── index-xxx.css
└── php-api/ # 后端接口目录
├── config.php # 数据库配置文件
├── rooms.php # 房间管理接口
└── messages/
└── index.php # 消息处理接口
⚠️ 禁止上传的文件:
请勿上传开发环境文件,包括 src、scripts、node_modules、package.json、vite.config.js 等,以免暴露源码或造成冲突。
第四步:访问测试(约 2 分钟)
- 浏览器访问你的域名。
- 页面应显示专属加载动画,输入昵称后即可进入公共大厅。
- 点击“创建房间”,系统将自动生成一个 6位独立房间编号。
- 将
域名 + 房间号分享给好友。 - 好友访问同一域名,输入该房间号即可加入聊天。
✅ 搭建完成自检清单
在正式使用前,请核对以下项是否全部达标:
- [ ] 数据库检查:phpMyAdmin 中存在
rooms和messages两张表。 - [ ] 配置检查:
config.php中的数据库账号、密码、地址已修改为正确信息。 - [ ] 文件检查:网站根目录下包含
index.html、assets/文件夹、php-api/文件夹。 - [ ] 页面展示:域名打开后能正常显示加载动画及主页。
- [ ] 功能测试:输入昵称能顺利进入大厅;新建房间能生成6位房间号;其他用户能通过房间号成功加入。
🐛 常见问题修复方案 (FAQ)
1. 访问域名页面空白
- 原因:前端资源缺失。
- 解决:检查
assets文件夹是否完整上传。缺失 JS 或 CSS 文件会导致页面无法渲染。
2. 创建房间提示失败
- 原因:数据库连接错误或后端报错。
- 解决:
- 再次核对
config.php中的数据库配置信息。 - 直接在浏览器访问
域名/php-api/rooms.php,查看具体的 PHP 报错信息以定位问题。
- 再次核对
3. 好友输入房间号提示“房间不存在”
- 原因:后端文件缺失或数据库未初始化。
- 解决:
- 确认
php-api文件夹已完整上传至网站根目录。 - 确认
database.sql脚本已成功导入,且表中已有数据。 - 再次核对
config.php配置。
- 确认
4. 发送消息对方看不到
- 原因:同步延迟或后端错误。
- 解决:
- 消息默认每 3秒 自动同步刷新,请等待片刻。
- 若长时间无反应,请查看服务器的 PHP 运行报错日志。
5. 数据库报错:Access denied for user
- 原因:账号密码错误。
- 解决:数据库账号或密码填写错误,请重新修改
config.php配置文件。
6. 页面文字出现中文乱码
- 原因:字符集不统一。
- 解决:
- 确保导入
database.sql时,排序规则/字符集选择的是 utf8mb4。 - 确保数据库建库语句使用了
CHARACTER SET utf8mb4。 - 确保 PHP 文件中 header 设置了
charset=utf-8。
- 确保导入


