• YApi 接口管理平台搭建


    官网下载路径:

    https://www.mongodb.com/download-center/community

    下载完之后双击,一直next安装,其中这一步选择Custom

    注:这里取消Install MongoDB compass,自己安装一个可视化的工具,不然安装时间超长长长

    一开始我没勾选取消,安装了好久进度君都没反应,后面又手动卸载了全部文件再重新安装的,所以一定要取消勾选!

    接下来等待个几秒,就安装完成了

    接下来给MongoDB进行配置

    在mongodb安装路径下的根目录,新建data文件夹,再新建以下两个文件

    在mongoDB目录下新建数据存放目录:C:Program FilesMongoDBdatadb
    在mongoDB目录下新建日志文件夹:C:Program FilesMongoDBdatalog

    仍在mongodb根目录下新建mongod.config文件,内容为:

    dbpath=C:Program FilesMongoDBdatadb
    logpath=C:Program FilesMongoDBdatalogmongod.log
    logappend=true
    auth=false

    auth默认为false,不使用密码验证

    在MongoDB安装目录下找到bin文件,然后右键打开命令窗口,运行如下:

    mongod --config "C:Program FilesMongoDBmongod.config" --install --serviceName "MongoDB"

    记得加"引号",不然就会像我一开始这样报错,后面加了引号就成功了

    成功后按win+r运行框中输入services.msc

    打开服务 找到名为“MongoDB Server”的服务项,然后鼠标右键,“启动”该服务项。

    至此,我们的服务便启动成功了

    检测成功与否

    如图即成功:http://localhost:27017/

    再配置下环境变量,电脑->右键->属性->高级系统设置->环境变量

    点击确定后,打开控制台,输入mongo,如下版本号信息,表示配置成功,win10下安装MongoDB成功

    以后启动mongodb可以手动和自动

    手动启动的命令为:

    net start MongoDB

    关闭MongoDB服务:

    net stop MongoDB

    移除 MongoDB 服务:

    C:Program FilesMongoDBServer4.2inmongod.exe --remove

    > 原文链接: <https://hellosean1025.github.io/yapi/devops/index.html#%e5%ae%89%e8%a3%85>

    ## 内网部署

    使用我们提供的 yapi-cli 工具,部署 YApi 平台是非常容易的。建议部署成 http 站点,因 chrome 浏览器安全限制,部署成 https 会导致测试功能在请求 http 站点时文件上传功能异常。

    如果您是将服务器代理到 nginx 服务器,请配置 nginx 支持 websocket。

    ```auto
    在location /添加
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    ```

    ## 环境要求

    + nodejs(7.6+)
    + mongodb(2.6+)

    ## 安装

    ### 方式一. 可视化部署[推荐]

    执行 yapi server 启动可视化部署程序,输入相应的配置和点击开始部署,就能完成整个网站的部署。部署完成之后,可按照提示信息,执行 node/{网站路径/server/app.js} 启动服务器。在浏览器打开指定url, 点击登录输入您刚才设置的管理员邮箱,默认密码(ymfe.org) 登录系统(默认密码可在个人中心修改)。

    ```bash
    npm install -g yapi-cli --registry https://registry.npm.taobao.org
    yapi server
    ```

    ### 方式二. 命令行部署

    如果 github 压缩文件无法下载,或需要部署到一些特殊的服务器,可尝试此方法

    ```bash
    mkdir yapi
    cd yapi
    git clone https://github.com/YMFE/yapi.git vendors //或者下载 zip 包解压到 vendors 目录(clone 整个仓库大概 140+ M,可以通过 `git clone --depth=1 https://github.com/YMFE/yapi.git vendors` 命令减少,大概 10+ M)
    cp vendors/config_example.json ./config.json //复制完成后请修改相关配置
    cd vendors
    npm install --production --registry https://registry.npm.taobao.org
    npm run install-server //安装程序会初始化数据库索引和管理员账号,管理员账号名可在 config.json 配置
    node server/app.js //启动服务器后,请访问 127.0.0.1:{config.json配置的端口},初次运行会有个编译的过程,请耐心等候
    ```

    安装后的目录结构如下:

    ```auto
    |-- config.json
    |-- init.lock
    |-- log
    `-- vendors
    |-- CHANGELOG.md
    |-- LICENSE
    |-- README.md
    |-- client
    |-- common
    |-- config_example.json
    |-- doc
    |-- exts
    |-- nodemon.json
    |-- npm-debug.log
    |-- package.json
    |-- plugin.json
    |-- server
    |-- static
    |-- test
    |-- webpack.alias.js
    |-- yapi-base-flow.jpg
    |-- ydocfile.js
    `-- ykit.config.js
    ```

    ## 服务器管理

    推荐使用 pm2 管理 node 服务器启动,停止,具体使用方法可参考下面的教程:

    + [官网文档](http://pm2.keymetrics.io/docs/usage/quick-start/)
    + [PM2实用入门指南](http://imweb.io/topic/57c8cbb27f226f687b365636)

    ## 升级

    升级项目版本是非常容易的,并且不会影响已有的项目数据,只会同步 vendors 目录下的源码文件。

    ```auto
    cd {项目目录}
    yapi ls //查看版本号列表
    yapi update //升级到最新版本
    yapi update -v v1.1.0 //升级到指定版本
    ```

    ## 配置邮箱

    打开项目目录 config.json 文件,新增 mail 配置, 替换默认的邮箱配置

    ```json
    {
    "port": "*****",
    "adminAccount": "********",
    "db": {...},
    "mail": {
    "enable": true,
    "host": "smtp.163.com", //邮箱服务器
    "port": 465, //端口
    "from": "***@163.com", //发送人邮箱
    "auth": {
    "user": "***@163.com", //邮箱服务器账号
    "pass": "*****" //邮箱服务器密码
    }
    }
    }
    ```

    如何申请STMP服务器账号和密码可以参考下面的教程:[如何开通电子邮箱的SMTP功能](https://jingyan.baidu.com/article/fdbd42771da9b0b89e3f48a8.html)

    ## 配置LDAP登录

    打开项目目录 config.json 文件,添加如下字段:

    ```json
    {
    "port": "*****",
    "adminAccount": "********",
    "db": {...},
    "mail": {...},
    "ldapLogin": {
    "enable": true,
    "server": "ldap://l-ldapt1.com",
    "baseDn": "CN=Admin,CN=Users,DC=test,DC=com",
    "bindPassword": "password123",
    "searchDn": "OU=UserContainer,DC=test,DC=com",
    "searchStandard": "mail", // 自定义格式: "searchStandard": "&(objectClass=user)(cn=%s)"
    "emailPostfix": "@163.com",
    "emailKey": "mail",
    "usernameKey": "name"
    }
    }

    ```

    这里面的配置项含义如下:

    + `enable` 表示是否配置 LDAP 登录,true(支持 LDAP登录 )/false(不支持LDAP登录);
    + `server` LDAP 服务器地址,前面需要加上 ldap:// 前缀,也可以是 ldaps:// 表示是通过 SSL 连接;
    + `baseDn` LDAP 服务器的登录用户名,必须是从根结点到用户节点的全路径(非必须);
    + `bindPassword` 登录该 LDAP 服务器的密码(非必须);
    + `searchDn` 查询用户数据的路径,类似数据库中的一张表的地址,注意这里也必须是全路径;
    + `searchStandard` 查询条件,这里是 mail 表示查询用户信息是通过邮箱信息来查询的。注意,该字段信息与LDAP数据库存储数据的字段相对应,如果如果存储用户邮箱信息的字段是 email, 这里就需要修改成 email.(1.3.18+支持)自定义filter表达式,基本形式为:&(objectClass=user)(cn=%s), 其中%s会被username替换
    + `emailPostfix` 登陆邮箱后缀(非必须)
    + `emailKey`: ldap数据库存放邮箱信息的字段(v1.3.21 新增 非必须)
    + `usernameKey`: ldap数据库存放用户名信息的字段(v1.3.21 新增 非必须)

    重启服务器后,可以在登录页看到如下画面,说明 ladp 配置成功

    ![](https://hellosean1025.github.io/yapi/devops/ldap.png)

    ## 禁止注册

    在 config.json 添加 `closeRegister:true` 配置项,就可以禁止用户注册 yapi 平台,修改完成后,请重启 yapi 服务器。

    ```json
    {
    "port": "*****",
    "closeRegister":true
    }

    ```

    ## 版本通知

    (v1.3.19+ 增加)在 config.json 添加 `"versionNotify": true` 配置项,就可以开启版本通知功能,默认为 `false`,修改完成后,请重启 yapi 服务器。

    ```json
    {
    "port": "******",
    "adminAccount": "*****",
    "versionNotify": true
    }

    ```

    ### 如何配置mongodb集群

    请升级到 yapi >= **1.4.0**以上版本,然后在 config.json db项,配置 connectString:

    ```json

    {
    "port": "***",
    "db": {
    "connectString": "mongodb://127.0.0.100:8418,127.0.0.101:8418,127.0.0.102:8418/yapidb?slaveOk=true",
    "user": "******",
    "pass": "******"
    },
    }

    ```

    详细配置参考: [wiki](https://mongoosejs.com/docs/connections.html#multiple_connections)

    文章参考出处如下:

    https://blog.csdn.net/weixin_38232096/article/details/108239571

    https://blog.csdn.net/caimingxian401/article/details/103382387

  • 相关阅读:
    记录java设计模式中适配器模式和装饰器模式和代理模式的区别
    excel工具类记录
    docker搭建图床 chevereto 非常方便
    docker 安装mysql
    rabbitmq学习之路(八)
    理解js中的作用域,作用域链以及闭包
    浏览器解析js的顺序
    javacript 组合使用构造函数模式和原型模式
    js垃圾回收机制与深拷贝和浅拷贝
    ES6 变量的解构赋值
  • 原文地址:https://www.cnblogs.com/my-blogs-for-everone/p/15292355.html
Copyright © 2020-2023  润新知