清一色
2025-12-12
点 赞
0
热 度
6
评 论
0

使用1Panel部署YApi(连接现有MongoDB)

  1. 首页
  2. 使用1Panel部署YApi(连接现有MongoDB)

一、简介

YApi是去哪儿网开源的API管理平台,提供了API的可视化管理、Mock服务、自动化测试等功能。本文介绍如何在已有MongoDB的情况下,通过1Panel快速部署YApi。

二、前置条件

  • 已安装1Panel面板
  • 已有可用的MongoDB实例
  • 服务器已安装Docker和Docker Compose

三、部署步骤

3.1 准备MongoDB

如果你的MongoDB需要为YApi创建专用数据库和用户,执行以下操作:

// 连接到MongoDB
use yapi

// 创建用户(可选,根据安全需求)
db.createUser({
  user: "yapi_user",
  pwd: "yapi_password",
  roles: [{ role: "readWrite", db: "yapi" }]
})

3.2 创建Docker Compose配置

在1Panel中进入 容器 → 编排,创建新的编排项目:

项目名称: yapi

docker-compose.yml 内容:

version: '3'
services:
  yapi:
    image: yapipro/yapi:latest
    container_name: yapi
    ports:
      - "3000:3000"
    environment:
      # 管理员账号配置
      - YAPI_ADMIN_ACCOUNT=admin@admin.com
      - YAPI_ADMIN_PASSWORD=admin123
      
      # MongoDB连接配置
      - YAPI_DB_SERVERNAME=你的MongoDB地址
      - YAPI_DB_PORT=27017
      - YAPI_DB_DATABASE=yapi
      - YAPI_DB_USER=yapi_user          # 如果MongoDB需要认证
      - YAPI_DB_PASS=yapi_password      # 如果MongoDB需要认证
      
      # 其他配置
      - YAPI_CLOSE_REGISTER=true        # 关闭注册功能
      - YAPI_PORT=3000
      
    restart: unless-stopped

3.3 环境变量配置说明

必填项

环境变量 说明 示例
YAPI_ADMIN_ACCOUNT 管理员邮箱账号 admin@admin.com
YAPI_ADMIN_PASSWORD 管理员密码 admin123
YAPI_DB_SERVERNAME MongoDB服务器地址 192.168.1.100 或 mongo容器名
YAPI_DB_PORT MongoDB端口 27017
YAPI_DB_DATABASE 数据库名称 yapi

可选项

环境变量 说明 默认值
YAPI_DB_USER MongoDB用户名 -
YAPI_DB_PASS MongoDB密码 -
YAPI_DB_AUTH_SOURCE 认证数据库 admin
YAPI_CLOSE_REGISTER 关闭注册功能 false
YAPI_MAIL_ENABLE 启用邮件通知 false

3.4 网络配置(如果MongoDB在同一Docker网络)

如果MongoDB也是通过Docker部署的,需要确保YApi能访问到它:

version: '3'
services:
  yapi:
    image: yapipro/yapi:latest
    container_name: yapi
    ports:
      - "3000:3000"
    environment:
      - YAPI_ADMIN_ACCOUNT=admin@admin.com
      - YAPI_ADMIN_PASSWORD=admin123
      - YAPI_DB_SERVERNAME=mongo  # 使用MongoDB容器名
      - YAPI_DB_PORT=27017
      - YAPI_DB_DATABASE=yapi
    restart: unless-stopped
    networks:
      - mongodb-network  # 连接到MongoDB所在网络

networks:
  mongodb-network:
    external: true  # 使用已存在的网络

3.5 启动服务

在1Panel中点击 启动 按钮,或使用命令行:

docker-compose up -d

查看日志确认启动成功:

docker logs -f yapi

四、访问和初始化

  1. 访问地址: http://你的服务器IP:3000

  2. 首次登录:

    • 邮箱:配置文件中的 YAPI_ADMIN_ACCOUNT
    • 密码:配置文件中的 YAPI_ADMIN_PASSWORD
  3. 安全建议:

    • 登录后立即修改管理员密码
    • 确认已关闭注册功能
    • 配置反向代理和HTTPS(可选)

五、常见问题

5.1 无法连接MongoDB

症状: YApi启动后无法访问,日志显示MongoDB连接失败

解决方案:

  1. 检查MongoDB地址是否正确
  2. 确认MongoDB端口是否开放
  3. 验证MongoDB用户名密码是否正确
  4. 检查Docker网络配置

5.2 端口冲突

症状: 启动失败,提示端口被占用

解决方案:
修改docker-compose.yml中的端口映射:

ports:
  - "3001:3000"  # 将主机端口改为3001

5.3 数据持久化

YApi的数据都存储在MongoDB中,只需确保MongoDB数据持久化即可。

六、进阶配置

6.1 配置Nginx反向代理

server {
    listen 80;
    server_name yapi.yourdomain.com;
    
    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

6.2 配置HTTPS

在1Panel中使用 网站 → 证书 功能申请Let's Encrypt证书,然后配置反向代理。

七、总结

通过1Panel部署YApi非常简单,关键是配置好MongoDB连接信息。本文提供的配置适用于已有MongoDB的场景,避免了重复部署数据库服务。

八、参考资料


更新时间: 2024-12-12
作者: Ahmad


大道至简,知易行难

清一色

isfp 探险家

站长

不具版权性
不具时效性

文章内容不具时效性。若文章内容有错误之处,请您批评指正。

切换评论

目录

八月寻英,扬帆起航,追风逐梦!!!

44 文章数
7 分类数
2 评论数
15标签数