境外服务器安装yapi接口管理

YApi旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API。是一款优秀的接口管理工具。
更多细节可以去github搜索。或者参照官方文档

问题

如果你是国内服务器的话,按照他的可视化部署的话,安装基本上都没有啥问题。
但是,如果你是境外的服务器,安装的时候,就会出现一系列尴尬的问题。因为它默认的包的路径都是国内的淘宝镜像。下面以我的经历为例,为大家解析下,官方给出的两种方式中,在境外服务器中如何安装。我的服务器是香港服务器。

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

这是官方给出的安装方式:
1.下载安装向导

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

此时,建议你不要直接使用这样的安装代码。因为境外使用taobao镜像很慢,如果某些安装包没有安装成功,会影响后续安装,在境外使用使用npm就行了。
你可以是直接使用像下面的安装代码。

npm install -g yapi-cli

安装成功后会显示如下:

/usr/local/src/nodejs/bin/yapi -> /usr/local/src/nodejs/lib/node_modules/yapi-cli/bin/yapi-cli
/usr/local/src/nodejs/bin/yapi-cli -> /usr/local/src/nodejs/lib/node_modules/yapi-cli/bin/yapi-cli
+ yapi-cli@1.5.0
updated 121 packages in 11.981s

2.启动安装向导

yapi server

访问ip:9090网站填写安装信息。之后,就是安装方式了。
3.执行安装
此时下载安装包的时候,也是使用taobao的镜像,像下面一样,下载很缓慢,感觉像是卡在这里一样。

连接数据库成功!
开始下载平台文件压缩包...
http://registry.npm.taobao.org/yapi-vendor/download/yapi-vendor-1.9.2.tgz

问题还是那个问题,境外请求国内服务器的资源的问题,而且本身这个压缩包也不小,所以更慢。我们可以按照如下方式解决。
4.解决安装缓慢
首先明确下,这个安装向导和网站框架都是使用nodejs写的。如果你对nodejs很熟悉的话,就很好办。不熟悉也没有关系,跟着做就行了。

  1. 前面,我们看到yapi-cli的目录是/usr/local/src/nodejs/lib/node_modules/yapi-cli/bin/yapi-cli,那么我们需要进入到这个安装的根目录,也就是/usr/local/src/nodejs/lib/node_modules/yapi-cli。j
  2. 进入到src目录。
    找到utils.js文件打开,找到function github()函数。在内部,手动指定type='github',例如:
    function github(version, type = 'npm') {
      type = 'github'
      let url;
      if(version[0] === 'v' || version[0] === 'V'){
        version = version.substr(1)
      }
    
      if(oldVersion().indexOf(version) !== -1){
        type = 'qunar'
      }
    
      if(type === 'github'){
        version = 'v' + version;
        url = 'https://github.com/YMFE/yapi/archive/' + version + '.zip'
      }else if(type === 'npm'){
        url = `http://registry.npm.taobao.org/yapi-vendor/download/yapi-vendor-${version}.tgz`
      }else {
        version = 'v' + version;
        url = 'http://yapi.demo.qunar.com/publicapi/archive/' + version;
      }
      return url
    }
    
    这样在后续判断的时候,就会使用github地址安装了。安装很快。基本上,一步就能安装成功了。
  3. 安装完成后,最好把修改的部分再改回来。

方式二. 命令行部署

如果,你选择手动的命令行方式部署的话,官方是这样给出的方法:

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配置的端口},初次运行会有个编译的过程,请耐心等候

这里有两个地方需要注意

  1. 不要使用淘宝镜像
    安装的时候,直接使用npm install --production就可以安装了。不要带后面的--registry https://registry.npm.taobao.org
  2. 配置文件修改
    config.json配置中,官方默认给你数据连接配置了用户名和密码都是test1,记得值置空。因为默认的mongodb连接是不需要用户名和密码的。否则,你安装的时候,就会一直报数据连接失败 。参考下面配置
    {
      "db": {
        "servername": "127.0.0.1",
        "DATABASE": "yapi",
        "port": 27017,
        "user": "",
        "pass": "",
        "authSource": ""
      },
    
    
posted @ 2020-06-12 11:57  houxin  阅读(219)  评论(0编辑  收藏  举报