104 lines
2.5 KiB
Markdown
104 lines
2.5 KiB
Markdown
|
|
# 结伴客部署脚本
|
|||
|
|
|
|||
|
|
## 概述
|
|||
|
|
|
|||
|
|
本目录包含用于将结伴客项目部署到远程 CentOS 服务器的脚本。
|
|||
|
|
|
|||
|
|
## 脚本说明
|
|||
|
|
|
|||
|
|
### deploy.sh (Bash 脚本 - 适用于 Linux/Mac)
|
|||
|
|
|
|||
|
|
使用 rsync 将项目文件同步到远程服务器。
|
|||
|
|
|
|||
|
|
#### 使用方法
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 给脚本添加执行权限
|
|||
|
|
chmod +x deploy.sh
|
|||
|
|
|
|||
|
|
# 部署所有模块
|
|||
|
|
./deploy.sh all
|
|||
|
|
|
|||
|
|
# 部署后端服务
|
|||
|
|
./deploy.sh backend
|
|||
|
|
|
|||
|
|
# 部署后台管理系统
|
|||
|
|
./deploy.sh admin
|
|||
|
|
|
|||
|
|
# 部署官方网站
|
|||
|
|
./deploy.sh website
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### deploy.ps1 (PowerShell 脚本 - 适用于 Windows)
|
|||
|
|
|
|||
|
|
Windows 系统下的部署脚本,同样使用 rsync 进行文件同步。
|
|||
|
|
|
|||
|
|
#### 使用方法
|
|||
|
|
|
|||
|
|
```powershell
|
|||
|
|
# 部署所有模块
|
|||
|
|
.\deploy.ps1 all
|
|||
|
|
|
|||
|
|
# 部署后端服务
|
|||
|
|
.\deploy.ps1 backend
|
|||
|
|
|
|||
|
|
# 部署后台管理系统
|
|||
|
|
.\deploy.ps1 admin
|
|||
|
|
|
|||
|
|
# 部署官方网站
|
|||
|
|
.\deploy.ps1 website
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 部署要求
|
|||
|
|
|
|||
|
|
1. **rsync** 必须安装在本地机器上
|
|||
|
|
- Linux/Mac: 通常预装,如果没有可以使用包管理器安装
|
|||
|
|
- Windows: 需要安装 rsync for Windows,例如通过 WSL 或 Git for Windows
|
|||
|
|
|
|||
|
|
2. **SSH 访问权限** 到远程服务器 (1.13.156.49)
|
|||
|
|
- 确保本地 SSH 公钥已添加到远程服务器的 `~/.ssh/authorized_keys` 文件中
|
|||
|
|
|
|||
|
|
Ai哦推荐考拉¥741515
|
|||
|
|
## 部署目录结构
|
|||
|
|
|
|||
|
|
远程服务器 CentOS (IP: 1.13.156.49) 上各项目的部署目录如下:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
/
|
|||
|
|
├── data/
|
|||
|
|
│ ├── nodejs/
|
|||
|
|
│ │ └── jiebanke/ # 后端服务部署目录
|
|||
|
|
│ ├── vue/
|
|||
|
|
│ │ └── jiebanke/ # 后台管理系统部署目录
|
|||
|
|
│ └── website/
|
|||
|
|
│ └── jiebanke/ # 官方网站部署目录
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 工作流程
|
|||
|
|
|
|||
|
|
1. 使用 rsync 同步文件到远程服务器
|
|||
|
|
2. 排除 node_modules、.git 等不需要的文件和目录
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
|
|||
|
|
- 部署脚本只进行文件同步,不执行构建操作
|
|||
|
|
- 微信小程序不需要部署到远程服务器,需使用微信开发者工具进行构建和上传
|
|||
|
|
- 部署过程中会自动排除 node_modules、.git 等目录
|
|||
|
|
- 脚本使用 `--delete` 参数,会删除远程服务器上已不存在于本地的文件
|
|||
|
|
|
|||
|
|
## 故障排除
|
|||
|
|
|
|||
|
|
### rsync 命令未找到
|
|||
|
|
确保已安装 rsync:
|
|||
|
|
- Ubuntu/Debian: `sudo apt-get install rsync`
|
|||
|
|
- CentOS/RHEL: `sudo yum install rsync`
|
|||
|
|
- macOS: 通常预装
|
|||
|
|
- Windows: 安装 Git for Windows 或 WSL
|
|||
|
|
|
|||
|
|
### SSH 连接失败
|
|||
|
|
确保:
|
|||
|
|
1. SSH 公钥已添加到远程服务器
|
|||
|
|
2. 可以手动通过 `ssh root@1.13.156.49` 连接服务器
|
|||
|
|
|
|||
|
|
### 权限问题
|
|||
|
|
确保运行脚本的用户有足够权限执行 rsync 和访问项目文件。
|