|
@@ -1,6 +1,6 @@
|
|
|
# Nunu 高级布局项目部署指南
|
|
|
|
|
|
-本文档提供在宝塔Linux服务器上部署此Go项目的详细步骤。
|
|
|
+本文档提供在宝塔Linux服务器上部署此Go项目的详细步骤。项目支持同时部署API服务和Task任务服务。
|
|
|
|
|
|
## 方法一:使用Docker部署(推荐)
|
|
|
|
|
@@ -24,23 +24,48 @@
|
|
|
// docker build -t go-app:v1 --build-arg APP_RELATIVE_PATH=./cmd/server/... -f deploy/build/Dockerfile .
|
|
|
```
|
|
|
|
|
|
-### 4. 运行Docker容器
|
|
|
-```bash
|
|
|
-docker run -d --restart=always --name go-app -p 8000:8000 go-app:v1
|
|
|
-```
|
|
|
+### 4. 使用优化部署脚本
|
|
|
+
|
|
|
+项目提供了优化的部署脚本,支持同时部署API服务和Task任务服务,并且可以显著提高构建速度:
|
|
|
|
|
|
-- 代码变更后:需要重新构建Docker镜像,这个过程会重新编译您的Go代码
|
|
|
```bash
|
|
|
-docker build -t go-app:v1 -f deploy/build/Dockerfile .
|
|
|
+# 将脚本权限设置为可执行
|
|
|
+chmod +x deploy/deploy.sh
|
|
|
+
|
|
|
+# 默认部署全部服务(API和Task)
|
|
|
+./deploy/deploy.sh
|
|
|
+
|
|
|
+# 只部署API服务
|
|
|
+./deploy/deploy.sh --api
|
|
|
+
|
|
|
+# 只部署Task服务
|
|
|
+./deploy/deploy.sh --task
|
|
|
+
|
|
|
+# 强制重新创建容器
|
|
|
+./deploy/deploy.sh --force
|
|
|
+
|
|
|
+# 不使用Docker缓存构建
|
|
|
+./deploy/deploy.sh --no-cache
|
|
|
```
|
|
|
-- 然后替换运行中的容器
|
|
|
+
|
|
|
+脚本会自动:
|
|
|
+1. 创建必要的目录结构
|
|
|
+2. 利用Docker卷缓存Go模块以加快构建速度
|
|
|
+3. 挂载配置和日志目录
|
|
|
+4. 仅在需要时重新创建容器
|
|
|
+
|
|
|
+### 5. 手动运行Docker容器
|
|
|
+如果您想手动管理容器,可以使用以下命令:
|
|
|
+
|
|
|
```bash
|
|
|
-docker stop go-app
|
|
|
-docker rm go-app
|
|
|
-docker run -d --restart=always --name go-app -p 8000:8000 go-app:v1
|
|
|
+# API服务
|
|
|
+docker run -d --restart=always --name nunu-api -p 8000:8000 -v /www/wwwroot/nunu/storage:/data/app/storage -v /www/wwwroot/nunu/config:/data/app/config nunu-api:v1
|
|
|
+
|
|
|
+# Task服务
|
|
|
+docker run -d --restart=always --name nunu-task -v /www/wwwroot/nunu/storage:/data/app/storage -v /www/wwwroot/nunu/config:/data/app/config nunu-task:v1
|
|
|
```
|
|
|
|
|
|
-### 5. Docker容器管理命令
|
|
|
+### 6. Docker容器管理命令
|
|
|
|
|
|
```bash
|
|
|
# 停止容器
|
|
@@ -65,7 +90,7 @@ docker ps -a
|
|
|
docker rm go-app
|
|
|
```
|
|
|
|
|
|
-### 6. 配置反向代理(可选)
|
|
|
+### 7. 配置反向代理(可选)
|
|
|
- 在宝塔面板中添加站点
|
|
|
- 设置反向代理到 `http://127.0.0.1:8000`
|
|
|
|