2.3 KiB
2.3 KiB
go-dy 部署说明
本文档介绍如何在 Linux 与 Windows 服务器上部署。
1. 准备
- 数据库:确保
DB_DSN可用(例如:user:pass@tcp(host:3306)/db?parseTime=true&charset=utf8mb4)。 - 端口:默认
PORT=8080,可改为需要的端口。 - JWT 密钥:设置
JWT_SECRET为强随机字符串。 - 验证码:
- 登录验证码由
LOGIN_REQUIRE_CAPTCHA控制(默认 true)。 - 注册验证码由
REGISTER_REQUIRE_CAPTCHA控制(默认 true)。
- 登录验证码由
2. 文件构成
- 二进制:
go-dy-linux-amd64或go-dy-linux-arm64或go-dy-windows-amd64.exe - 配置:
.env(可参考.env.example)
3. Linux(systemd)
-
新建工作目录(例如
/opt/go-dy),上传二进制与.env。 -
赋予执行权限:
chmod +x /opt/go-dy/go-dy-linux-amd64 -
创建 systemd 单元:
/etc/systemd/system/go-dy.service参考模板见
deploy/systemd/go-dy.service,根据架构与路径调整:ExecStart指向二进制WorkingDirectory指向.env所在目录
-
加载与启动:
sudo systemctl daemon-reloadsudo systemctl enable go-dysudo systemctl start go-dysudo systemctl status go-dy
-
查看日志:
journalctl -u go-dy -f
4. Windows(服务/常驻)
-
方式 A:使用 NSSM 注册为服务(推荐)。
- 安装 NSSM。
nssm install go-dy C:\path\to\go-dy-windows-amd64.exe- 设置
Startup directory指向.env所在目录。 - 启动服务:
nssm start go-dy
-
方式 B:任务计划程序或 PowerShell 常驻:
- PowerShell:
Start-Process -NoNewWindow -WorkingDirectory C:\path\to -FilePath C:\path\to\go-dy-windows-amd64.exe
- PowerShell:
5. 环境变量
将以下键放入 .env 或服务器环境中:
PORT=18080
JWT_SECRET=请替换为强随机密钥
DB_DSN=user:pass@tcp(host:3306)/db?parseTime=true&charset=utf8mb4
ALLOW_REGISTRATION=true
LOGIN_REQUIRE_CAPTCHA=false
REGISTER_REQUIRE_CAPTCHA=false
6. 健康与验证
- 启动后日志应包含:数据库连接成功与监听端口。
- 登录:
POST /api/login(表单name,password)。 - 注册:
POST /api/register(字段随验证码开关而异)。
7. 迁移与数据
- 用户表需包含
password_hash(bcrypt)。 - 可使用
tools/update_password.go脚本按需写入 bcrypt 密码。