# 远程部署指南

本文档说明如何将项目部署到远程服务器 192.168.0.95。

## 配置信息

### 数据库配置
- 地址：111.3.47.177:13306
- 用户名：root
- 密码：aiotagro
- 数据库名：aiotmini

### Redis配置
- 地址：111.3.47.177:16379
- 密码：aiotagro

### 远程服务器配置
- 地址：192.168.0.95
- 用户名：root
- 密码：aiotagro
- 部署目录：/data/java/aiotagro-mini

## 部署步骤

### 1. 准备工作

确保本地环境已安装以下工具：
- Maven
- SSH 客户端 (Linux/Mac 自带，Windows 需要安装 PuTTY 或使用 WSL)
- scp 命令 (用于文件传输)

### 2. 构建项目

在项目根目录下执行：
```bash
mvn clean package -Dmaven.test.skip=true
```

### 3. 部署方式

#### 方式一：使用脚本部署（推荐）

##### Linux/Mac 环境：
```bash
# 给脚本添加执行权限
chmod +x script/deploy-remote.sh

# 运行部署脚本
./script/deploy-remote.sh
```

##### Windows 环境：
```cmd
script\deploy-remote.bat
```

#### 方式二：手动部署

1. 构建项目：
   ```bash
   mvn clean package -Dmaven.test.skip=true
   ```

2. 在远程服务器上创建目录：
   ```bash
   ssh root@192.168.0.95 "mkdir -p /data/java/aiotagro-mini"
   ```

3. 传输 jar 文件到远程服务器：
   ```bash
   scp aagro-server/target/aagro-server.jar root@192.168.0.95:/data/java/aiotagro-mini/
   ```

4. 传输 Dockerfile 到远程服务器：
   ```bash
   scp aagro-server/Dockerfile root@192.168.0.95:/data/java/aiotagro-mini/
   ```

5. 在远程服务器上构建并运行 Docker 容器：
   ```bash
   ssh root@192.168.0.95
   cd /data/java/aiotagro-mini
   docker build -t aagro-server .
   docker run -d \
     --name aagro-server-container \
     --restart always \
     -p 48080:48080 \
     aagro-server
   ```

### 4. 验证部署

部署完成后，可以通过以下地址访问应用：
- http://192.168.0.95:48080

## 故障排除

1. 如果部署过程中遇到权限问题，请确保远程服务器上的目录权限正确。
2. 如果 Docker 构建失败，请检查远程服务器上的 Docker 是否正常运行。
3. 如果应用无法连接数据库或 Redis，请检查防火墙设置和网络连接。