# 环境配置与部署指南 本文档提供图片背景处理工具的环境配置和部署步骤。 ## 开发环境配置 ### 系统要求 - Node.js v12.0.0 或更高版本 - MongoDB v4.0.0 或更高版本 - MinIO 对象存储服务 - Git ### 步骤一:克隆代码库 ```bash git clone https://github.com/your-username/xiaogongju.git cd xiaogongju ``` ### 步骤二:安装依赖 ```bash npm install ``` ### 步骤三:配置环境变量 1. 复制环境变量示例文件: ```bash cp .env.example .env ``` 2. 编辑 `.env` 文件,配置以下必要参数: ``` # 服务器配置 PORT=3000 NODE_ENV=development # 用户认证相关配置 JWT_SECRET=your_jwt_secret_key_here # 数据库配置 MONGODB_URI=mongodb://localhost:27017/xiaogongju # MinIO配置 MINIO_ENDPOINT=localhost MINIO_PORT=9000 MINIO_USE_SSL=false MINIO_ACCESS_KEY=minioadmin MINIO_SECRET_KEY=minioadmin MINIO_BUCKET_NAME=xiaogongju # API密钥 REMOVE_BG_API_KEY=your_remove_bg_api_key GENERATE_BG_API_KEY=your_generate_bg_api_key REPAINT_API_KEY=your_repaint_api_key ``` ### 步骤四:设置 MongoDB 如果您尚未安装 MongoDB,可以使用我们提供的脚本进行安装: ```bash bash setup-mongodb.sh ``` 或者手动安装 MongoDB 并创建数据库: ```bash # MacOS (使用Homebrew) brew tap mongodb/brew brew install mongodb-community brew services start mongodb-community # Ubuntu sudo apt update sudo apt install -y mongodb sudo systemctl start mongodb ``` ### 步骤五:初始化数据库 运行初始化脚本创建默认管理员账户: ```bash node init-db.js ``` ### 步骤六:启动开发服务器 ```bash npm run dev ``` 服务器将在 http://localhost:3000 启动。 ## 生产环境部署 ### 方法一:使用 PM2 和 Nginx #### 步骤一:准备服务器 确保服务器已安装以下组件: - Node.js v12.0.0+ - MongoDB v4.0.0+ - MinIO 服务 - Nginx - PM2 #### 步骤二:部署代码 1. 克隆代码库到服务器: ```bash git clone https://github.com/your-username/xiaogongju.git cd xiaogongju ``` 2. 安装依赖: ```bash npm install --production ``` 3. 配置环境变量: ```bash cp .env.example .env # 编辑.env文件,设置生产环境配置 ``` 4. 初始化数据库: ```bash node init-db.js ``` #### 步骤三:使用 PM2 管理应用 安装 PM2(如果尚未安装): ```bash npm install -g pm2 ``` 启动应用: ```bash pm2 start ecosystem.config.js --env production ``` 设置开机自启: ```bash pm2 startup pm2 save ``` #### 步骤四:配置 Nginx 1. 复制 Nginx 配置文件: ```bash sudo cp config/nginx.conf /etc/nginx/sites-available/xiaogongju ``` 2. 创建符号链接到已启用站点: ```bash sudo ln -s /etc/nginx/sites-available/xiaogongju /etc/nginx/sites-enabled/ ``` 3. 测试配置并重启 Nginx: ```bash sudo nginx -t sudo systemctl restart nginx ``` ### 方法二:使用 Docker (可选) #### 步骤一:准备 Docker 环境 确保服务器已安装 Docker 和 Docker Compose。 #### 步骤二:构建 Docker 镜像 ```bash docker build -t xiaogongju . ``` #### 步骤三:启动容器 ```bash docker-compose up -d ``` ## MinIO 配置 ### 步骤一:安装 MinIO ```bash # MacOS brew install minio/stable/minio # Ubuntu wget https://dl.min.io/server/minio/release/linux-amd64/minio chmod +x minio sudo mv minio /usr/local/bin/ ``` ### 步骤二:启动 MinIO 服务 ```bash minio server /path/to/data ``` ### 步骤三:创建存储桶 1. 访问 MinIO 控制台(默认地址: http://localhost:9000) 2. 使用默认凭据登录(minioadmin/minioadmin) 3. 创建名为 `xiaogongju` 的存储桶 ## 外部 API 配置 ### Remove.bg API 1. 注册 [Remove.bg](https://www.remove.bg/api) 账户 2. 获取 API 密钥 3. 将 API 密钥填入 `.env` 文件的 `REMOVE_BG_API_KEY` 字段 ### 阿里云智能 API 1. 注册 [阿里云](https://www.aliyun.com/) 账户 2. 开通智能API服务 3. 获取 API 密钥并填入相应的环境变量 ### Tripo3D API 1. 注册 [Tripo3D](https://www.tripo3d.ai/) 账户 2. 获取 API 密钥 3. 将 API 密钥填入 `.env` 文件的 `TRIPO3D_API_KEY` 字段 ## 故障排除 ### 数据库连接问题 如果遇到数据库连接错误,请检查: 1. MongoDB 服务是否正在运行 2. `.env` 文件中的 `MONGODB_URI` 是否正确 3. 网络连接是否畅通 运行数据库连接测试脚本: ```bash node test-db-connection.js ``` ### MinIO 存储问题 如果遇到文件上传或访问错误,请检查: 1. MinIO 服务是否正在运行 2. `.env` 文件中的 MinIO 配置是否正确 3. 存储桶权限是否配置正确 ### API 调用失败 如果外部 API 调用失败,请检查: 1. API 密钥是否有效 2. 账户余额或配额是否足够 3. 网络连接是否畅通 4. 请求参数是否正确 ## 性能优化建议 1. 增加服务器内存,特别是处理大型图片时 2. 配置 Nginx 缓存静态资源 3. 使用 CDN 加速图片传输 4. 考虑使用集群部署,增加系统吞吐量 5. 定期清理临时文件和过期数据 6. 对 MongoDB 添加适当的索引优化查询性能