linux搭建YAPI

搭建前环境准备:

  nodejs(7.6+)

  mongodb(2.6+)

本文搭建YAPI所用到的环境:

  nodejs(10.15.1)

  mongodb(4.4.8)

  注:nodejs版本太高会导致错误。

  注2:经测试,node,12.18.2版本按照本文步骤也可以搭建成功。

mongoDB安装:

  1.去官网(https://www.mongodb.com/zh-cn)下载相对应的版本的压缩包。

  2.用FTP上传至你的linux的服务器上。

  3.解压 tar -zxvf xxx(文件名)

  4.进入解压后的文件夹,在文件夹中创建数据库目录和日志目录

    mkdir data

    mkdir log

  5.配置mongoDB的环境变量

    vim /etc/profile

    # 添加环境变量

    export MONGODB_HOME=xxx(mongoDB所在的路径)

    export PATH=$MONGODB_HOME/bin:$PATH

  6.刷新环境变量

    source /etc/profile

  7.测试,查看mongoDB的版本

    mongod -version

  8.启动mongoDB

    mongod --dbpath /usr/local/mongodb/data --logpath /usr/local/mongodb/log/mongod.log --port 27017 --fork

  9.停止mongoDB

    mongod --dbpath /usr/local/mongodb/data --logpath /usr/local/mongodb/log/mongod.log --shutdown

 

nodeJS安装

  1.去官网(https://nodejs.org/en/)下载相对应的版本的压缩包。

  2.用FTP上传至你的linux的服务器上。

  3.解压 tar -zxvf xxx(文件名)

  4.配置node的环境变量

    vim /etc/profile

    # 添加环境变量

    export NODE_HOME=/usr/local/nodejs(你解压node的根目录)

    export PATH=$MONGODB_HOME/bin:$NODE_HOME/bin:$PATH

  5.刷新环境变量

    source /etc/profile

  6.测试,查看node,npm的版本

    node -v

    npm -v

  7.设置npm淘宝源

    npm config set registry https://registry.npm.taobao.org

部署YAPI

  1.安装可视化部署

    npm install -g yapi-cli

  2.启动服务

    yapi server

  

 

 

   注:使用阿里云搭建YAPI的小伙伴需要将阿里云中的安全策略设置,将9090端口打开。

  3.可视化部署

 

 

 

 

 

 

 

   

 

 

     点击开始部署(注,点击开始部署之后不要乱动。等待运行完成。否则需要重新部署且mongodb创建的数据库也要一并删除。)

    安装完成后初始的用户名(admin@admin.com)密码(ymfe.org)

   4.完成

 

 

 YAPI踩坑实录:

  1.在linux下部署YAPI,不要使用ROOT用户!不要使用ROOT用户!不要使用ROOT用户!(重要的事情,一定要说三遍)

  原因:使用 “yapi server” 命令使用页面部署YAPI的时候,执行的过程中,脚本里存在NPM的命令。但是在ROOT的用户下,NPM命令因为安全起见,会默认切换到一个nobody的用户来运行。该用户基本没有任何的权限。所以,这里就会报一个错误。

  官网解释(译文):npm 出于安全考虑不支持以 root 用户运行,即使你用 root 用户身份运行了,npm 会自动转成一个叫 nobody 的用户来运行,而这个用户几乎没有任何权限。这样的话如果你脚本里有一些需要权限的操作,比如写文件(尤其是写 /root/.node-gyp),就会崩掉了。为了避免这种情况,要么按照 npm 的规矩来,专门建一个用于运行 npm 的高权限用户;

  解决方案(传送门):https://zhuanlan.zhihu.com/p/165493390

  2.不建议大家安装yapi-plugin-import-swagger-customize这个yapi插件,建议使用easy-yapi来实现单接口上传yapi的操作

posted @ 2021-08-13 14:50  白水0o  阅读(781)  评论(0编辑  收藏  举报