系统要求
- Linux x86_64 或 arm64
- Docker(仅用于跑 Redis 容器;如果你已有 Redis 服务可省略)
- 一个域名 + SSL 证书(生产部署)
- 至少 512MB 内存
创建目录
在宝塔/www/wwwroot目录里面新建一个文件夹Dujiao-Next
下载安装包
下载安装包到新建的文件夹里面:https://github.com/dujiao-next/dujiao-next/releases
查看服务器架构,选择对应安装包,可以执行以下命令查询
uname -m一般都是x86,我们就选dujiao-all_v1.1.0_Linux_x86_64.tar.gz这个安装包,下载到新建的这个目录解压出来
修改配置文件
将config.yml.example文件,重命名为config.yml
必改字段
打开 config.yml,按下表修改:
| 字段 | 说明 | 示例值 |
|---|---|---|
jwt.secret | 后台管理员 JWT 密钥,必改 | openssl rand -hex 32 输出 |
user_jwt.secret | 用户 JWT 密钥,必改 | 同上,不同值 |
web.admin_path | 后台访问路径前缀,强烈建议改 | /dj-mgmt-7x9k2 |
redis.host / redis.port | Redis 地址(分两个字段,默认 127.0.0.1 + 6379) | 127.0.0.1 + 6379 |
database.driver / database.dsn | 数据库(默认 SQLite 起步) | 见下方 |
关于 web.admin_path(重要)
web:
admin_path: "/dj-mgmt-7x9k2" # 个人偏好的字符串这个路径只是 SPA 入口的”门牌”,改了它不影响 admin API 接口;API 鉴权由 JWT + 限流保护。改路径主要是过滤掉自动化扫描的噪音。
关于数据库
- SQLite(默认):零配置,数据存在
./db/dujiao.db,单机够用。 - PostgreSQL(生产推荐):把
database.driver改为postgres,database.dsn写连接串。
启动二进制
ssh执行命令
./dujiao-server二进制运行时会自动创建:
./db/:SQLite 数据库./uploads/:用户上传文件./logs/:运行日志
网站入口
- 用户端:
http://<your-ip>:8080 - 管理端:
http://<your-ip>:8080/<web.admin_path>(你刚才改的路径)
首次登录用默认管理员账号(在 config.yml 的 bootstrap 段配置)。登录后立即修改密码。
反代IP变成域名
宝塔打开找到反向代理,ssl自己申请

系统服务
先创建运行用户(如果你打算用专用用户跑服务):
sudo useradd -r -s /sbin/nologin -d /opt/dujiao dujiao
sudo chown -R dujiao:dujiao /opt/dujiao/etc/systemd/system/dujiao.service:
[Unit]
Description=Dujiao-Next Fullstack
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/dujiao
ExecStart=/opt/dujiao/dujiao-server
Restart=on-failure
User=dujiao
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload
sudo systemctl enable --now dujiao
sudo journalctl -u dujiao -f升级
systemctl stop dujiao- 备份:
cp -r db uploads /backup/ - 下载新版 tar.gz,仅替换
dujiao-server二进制 systemctl start dujiao
数据库迁移自动完成。
如果启动失败可以用这个,临时后台运行
nohup ./dujiao-server > app.log 2>&1 &然后查看日志:
tail -f app.log常见问题
Q:admin SPA 加载报 404
确认 config.yml 的 web.admin_path 与浏览器访问路径一致;如果改了 web.admin_path,必须重启二进制让新值生效。
Q:日志循环出现 “web.admin_path 仍为默认 /admin” 警告
按 §3 的建议修改 web.admin_path,警告会消失。
Q:fullstack 二进制和现有 Docker 镜像可以混用吗?
可以,但同一个数据库不要同时被两套部署连接。建议:要么走 Docker 镜像方案,要么走单二进制方案,不混用。