# Tree_api **Repository Path**: Jerryguo1020/tree_api ## Basic Information - **Project Name**: Tree_api - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-02 - **Last Updated**: 2025-07-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 互成一家 - 后端部分 ### 作者的环境 - node版本:v20.14.0 - npm版本:10.7.0 - mysql: 5.7 - MongoDB - MinIO - Redis ## 启动步骤 ### 1. 安装依赖 ```bash npm i ``` ### 2. 配置数据库 #### 拉取docker镜像 ```bash docker pull mysql:5.7 docker pull mongo docker pull minio/minio docker pull redis ``` #### 准备docker容器必要的配置文件 - 找个合适的目录创建 redis.conf 该文件写入如下内容 ```bash appendonly yes requirepass [密码] ``` #### 启动docker容器 - mysql ```bash docker run -id --name [数据库容器名称] \ -e MYSQL_ROOT_PASSWORD=[数据库root密码] \ -v [本地数据卷存储数据库日志]:/var/log/mysql \ -v [本地数据卷存储数据库数据]:/var/lib/mysql \ -v [本地数据卷存储数据库配置]:/etc/mysql/conf.d \ -p [需要映射的主机端口]:3306 \ mysql:5.7 ``` - MongoDB ```bash docker run -id -p 27017:27017 \ -e MONGO_INITDB_ROOT_USERNAME=[数据库用户名] \ -e MONGO_INITDB_ROOT_PASSWORD=[数据库密码] mongo ``` - MinIO ```bash docker run -d -p 9000:9000 -p 9001:9001 --name minio \ -e MINIO_ROOT_USER=[数据库用户名] \ -e MINIO_ROOT_PASSWORD=[数据库密码] \ minio/minio server /data --console-address ":9001" --address ":9000" ``` - Redis ```bash docker run -id -p 6379:6379 \ -v ./redis.conf:/usr/local/etc/redis/redis.conf \ redis redis-server /usr/local/etc/redis/redis.conf ``` #### 修改数据库配置文件 - mysql - 进入 mysql 容器内部,修改时区 ```bash [mysqld] default-time-zone = '+08:00' ``` #### 创建数据库表以及写入数据 - mysql - 创建数据库 ```bash CREATE DATABASE kaoyanbang_db DEFAULT CHARACTER SET 'utf8mb4'; ``` - 导入数据 ```bash # 待补充,详细内容见 docs 目录 ``` #### 进入 minio 创建 桶 ```bash hcyj-avater hcyj-post hcyj-organization-logo ``` ### 3. 配置环境变量 ```bash HCYJ_WX_APPID: [微信小程序appid] HCYJ_WX_SECRET: [微信小程序secret] HCYJ_MYSQL_HOST: 127.0.0.1 HCYJ_MYSQL_PORT: 3306 HCYJ_MYSQL_USER: root HCYJ_MYSQL_PSWD: 123456 HCYJ_MYSQL_DB: hcyj_db HCYJ_MONGO_HOST: 127.0.0.1 HCYJ_MONGO_PORT: 27017 HCYJ_MONGO_USER: root HCYJ_MONGO_PSWD: 123456 HCYJ_MINIO_ENDPOINT: 127.0.0.1 HCYJ_MINIO_PORT: 9000 HCYJ_MINIO_USESSL: false HCYJ_MINIO_AKEY: [AKEY] HCYJ_MINIO_SKEY: [SKEY] HCYJ_REDIS_HOST: 127.0.0.1 HCYJ_REDIS_PORT: 6379 HCYJ_REDIS_PSWD: 123456 ``` ### 4. 启动服务 - 开发环境 或 测试环境 ```bash npm run start ``` - 生产环境 - 编写 run.sh 文件 ```bash cd who_family_server; export HCYJ_WX_APPID=微信小程序appid export HCYJ_WX_SECRET=微信小程序secret export HCYJ_MYSQL_HOST=127.0.0.1 export HCYJ_MYSQL_PORT=3306 export HCYJ_MYSQL_USER=root export HCYJ_MYSQL_PSWD=123456 export HCYJ_MYSQL_DB=hcyj_db # export HCYJ_MONGO_HOST=127.0.0.1 # export HCYJ_MONGO_PORT=27017 # export HCYJ_MONGO_USER=root # export HCYJ_MONGO_PSWD=123456 export HCYJ_MINIO_ENDPOINT=127.0.0.1 export HCYJ_MINIO_PORT=9000 export HCYJ_MINIO_USESSL=false export HCYJ_MINIO_AKEY=[AKEY] export HCYJ_MINIO_SKEY=[SKEY] # export HCYJ_REDIS_HOST=127.0.0.1 # export HCYJ_REDIS_PORT=6379 # export HCYJ_REDIS_PSWD=123456 npm run start; ``` - 执行 run.sh 文件 ```bash nohup sh ./run.sh & ```