Browse Source

优化部署脚本,支持已有.env文件

pull/2/head
SwTt29 2 months ago
parent
commit
52371f0d5d
  1. 38
      deploy.sh
  2. 104
      server-example/.env配置说明.md

38
deploy.sh

@ -19,21 +19,29 @@ if ! command -v docker-compose &> /dev/null; then
fi fi
# 创建项目目录 # 创建项目目录
echo "创建项目目录..." echo "创建项目目录..."
mkdir -p /opt/project_app/logs /opt/project_app/uploads /opt/project_app/mysql-data mkdir -p /opt/project_app/logs /opt/project_app/uploads /opt/project_app/mysql-data
# 克隆代码仓库 # 克隆代码仓库或更新代码
echo "克隆代码仓库..." echo "处理代码仓库..."
git clone http://8.137.125.67:4000/Swt29/Project_app.git /opt/project_app if [ ! -d /opt/project_app/.git ]; then
cd /opt/project_app # 如果目录不存在.git文件夹,则克隆仓库
git clone http://8.137.125.67:4000/Swt29/Project_app.git /opt/project_app
# 创建.env文件(如果不存在) else
echo "配置环境变量..." # 如果目录已存在.git文件夹,则更新代码
if [ ! -f .env ]; then cd /opt/project_app
cp .env.example .env git pull origin BOSS
echo "请编辑.env文件配置数据库和其他参数" fi
# 这里可以添加自动配置脚本 cd /opt/project_app
fi
# 检查.env文件是否存在
echo "检查环境变量配置..."
if [ ! -f .env ]; then
echo "警告: .env文件不存在,请手动配置环境变量"
echo "可以参考.env.example文件创建.env文件"
else
echo ".env文件已存在,跳过配置步骤"
fi
# 构建Docker镜像 # 构建Docker镜像
echo "构建Docker镜像..." echo "构建Docker镜像..."

104
server-example/.env配置说明.md

@ -0,0 +1,104 @@
# .env文件配置说明
## 1. 微信小程序配置
### WECHAT_APPID
- **含义**:微信小程序的唯一标识
- **获取方式**:登录微信公众平台 -> 开发管理 -> 开发设置 -> 开发者ID(AppID)
- **当前值**:`wx3da6ea0adf91cf0d`(已配置,无需修改)
### WECHAT_APPSECRET
- **含义**:微信小程序的应用密钥,用于接口调用
- **获取方式**:登录微信公众平台 -> 开发管理 -> 开发设置 -> 开发者密码(AppSecret)(需要管理员扫码获取)
- **当前值**:`78fd81bce5a2968a8e7c607ae68c4c0b`(已配置,无需修改)
### WECHAT_TOKEN
- **含义**:用于微信服务器验证的随机字符串,确保安全性
- **设置方式**:可以自定义一个复杂的随机字符串(建议包含大小写字母、数字和特殊字符)
- **示例**:`abcdefghijklmnopqrstuvwxyz1234567890!@#$%^&*`
- **当前值**:`your-random-token`(需要修改)
## 2. MySQL数据库配置
### DB_HOST
- **含义**:MySQL数据库服务器的IP地址或域名
- **设置方式**
- 如果数据库和应用部署在同一台服务器,使用`localhost`或`127.0.0.1`
- 如果使用Docker Compose部署,使用服务名称(如`mysql`)
- 如果是远程数据库,使用数据库服务器的IP地址
- **当前值**:`1.95.162.61`(已配置,无需修改)
### DB_PORT
- **含义**:MySQL数据库服务的端口号
- **默认值**:MySQL默认端口为`3306`
- **当前值**:`3306`(已配置,无需修改)
### DB_DATABASE
- **含义**:要使用的数据库名称
- **设置方式**:确保该数据库已在MySQL中创建
- **当前值**:`wechat_app`(已配置,无需修改)
### DB_USER
- **含义**:MySQL数据库的用户名
- **设置方式**:使用具有该数据库访问权限的用户名
- **当前值**:`root`(已配置,无需修改)
### DB_PASSWORD
- **含义**:MySQL数据库用户的密码
- **设置方式**
- 如果用户有密码,填写实际密码
- 如果没有密码,保留为空字符串(`DB_PASSWORD=""`)
- **当前值**:`schl@2025`(已配置,无需修改)
## 3. 服务器配置
### PORT
- **含义**:Node.js服务器监听的端口号
- **设置方式**:选择一个未被占用的端口(建议使用1024以上的端口)
- **当前值**:`3003`(已配置,无需修改)
### LOG_LEVEL
- **含义**:日志记录的级别
- **可选值**:`debug`, `info`, `warn`, `error`
- **建议**:开发环境使用`debug`,生产环境使用`info`或`warn`
- **当前值**:`debug`(已配置,建议生产环境修改为`info`)
### NODE_ENV
- **含义**:Node.js运行环境
- **可选值**:`development`(开发环境), `production`(生产环境)
- **当前值**:`production`(已配置,无需修改)
### ENABLE_DETAILED_LOGGING
- **含义**:是否启用详细日志记录(用于问题排查)
- **可选值**:`true`, `false`
- **建议**:开发环境使用`true`,生产环境使用`false`以提高性能
- **当前值**:`true`(已配置,建议生产环境修改为`false`)
## 配置注意事项
1. **不要泄露敏感信息**:.env文件包含AppSecret、数据库密码等敏感信息,不要将其提交到代码仓库
2. **备份配置**:定期备份配置文件,以防丢失
3. **Docker部署时的特殊配置**
- 如果使用Docker Compose部署,将`DB_HOST`改为`mysql`(与docker-compose.yml中的服务名称一致)
- 确保数据库端口在Docker Compose中正确映射
4. **环境一致性**:确保开发环境和生产环境的配置保持一致(除了敏感信息和环境特定配置)
5. **配置验证**:配置完成后,启动服务前可以先测试数据库连接是否正常
## 修改示例
如果要修改配置,直接编辑.env文件即可:
```bash
# 修改微信token
WECHAT_TOKEN=my-new-secure-token-2025
# 修改日志级别为info
LOG_LEVEL=info
# 关闭详细日志
ENABLE_DETAILED_LOGGING=false
```
Loading…
Cancel
Save