YApi 是去哪儿网大前端技术中心开源的一个可视化的接口管理平台。下面是在CentOS7下搭建二次开发环境步骤。

1 安装MongoDB

具体安装参考CentOS7安装MongoDB

2 安装Node.js和npm

具体安装参考CentOS下安装nvm

Node.js版本7.6.0,npm版本大于5.0

查看Node.js版本

node –v

查看npm版本

npm –v

3 部署yapi

mkdir yapi
cd yapi
git clone https://github.com/YMFE/yapi.git vendors --depth=1 //或者下载 zip 包解压到 vendors 目录
cp vendors/config_example.json ./config.json //复制完成后请修改相关配置
cd vendors
npm install --production --registry https://registry.npm.taobao.org //安装依赖
npm run install-server //安装程序会初始化数据库索引和管理员账号,管理员账号名可在 config.json 配置

3.1 创建工程目录

mkdir yapi
cd yapi
git clone https://github.com/YMFE/yapi.git vendors --depth=1 //或者下载 zip 包解压到 vendors 目录

3.2 修改配置文件

cp vendors/config_example.json ./config.json //复制完成后请修改相关配置
vi ./config.json

配置修改如下,主要配置 MongoDB 数据库:

{
"port": "",
"adminAccount": "admin@admin.com",
"db": {
"servername": "10.228.129.235",
"DATABASE": "yapi",
"port": ,
"authSource": ""
},
"mail": {
"enable": true,
"host": "smtp.163.com",
"port": ,
"from": "***@163.com",
"auth": {
"user": "***@163.com",
"pass": "*****"
}
}
}

3.3 安装依赖

cd vendors
npm install --registry https://registry.npm.taobao.org //安装依赖

3.4 初始化

npm run install-server  //安装程序会初始化数据库索引和管理员账号,管理员账号名可在 config.json 配置

3.5 启动开发机

若要启动开发环境服务器,执行如下命令:

npm run dev   //启动服务器后,请访问 127.0.0.1:{config.json配置的端口},初次运行会有个编译的过程,请耐心等候

4 安装打包工具

安装webpack

npm install -g webpack  //全局安装
npm install --save-dev webpack //安装到项目目录

安装ykit

npm install ykit -g

若安装过程中,出现npm ERR!报错,解决方法如下:

npm install ykit -g --unsafe-perm=true --allow-root

5 用ykit执行打包

ykit pack -m

若打包过程中,出现目录权限Permission denied报错,解决方法如下:

chmod 777 文件或目录

打包成功后,会在vendors/static/prd文件夹下生成如下压缩文件:

6 启动生产环境服务器

node server/app.js

服务启动成功后,显示如下信息:

7 服务后台运行

使用如下命令:

nohup node server/app.js &

查看进程

ps -aux

杀掉进程

kill - 具体pid号

8 相关问题

ykit打包成功,启动生产环境服务器后,打开浏览器报错:

报错原因:二次开发不支持windows环境,请在CentOS或者MacOS环境下进行二次开发。

YApi二次开发环境部署的更多相关文章

  1. Linux——Django 开发环境部署(二)python版本控制器pyenv

    python版本控制器pyenv 之前的 那篇是说明了django环境的site package完全独立出来了,但是使用的python解释器还是系统的,为了继续独立出来,甚至是达到ruby的rvm的自 ...

  2. 一个CentOS7的开发环境部署,包括防火墙|VPN|多IP多网关|HTTP代理服务器设置等

    http://www.lenggirl.com/code/centos7.html layout: post title: "一个CentOS7的开发环境部署,包括防火墙|VPN|HTTP代 ...

  3. linux 下 ifcfg-eth0 配置/CentOS_minimal安装和开发环境部署

    CentOS_minimal安装和开发环境部署:http://www.th7.cn/system/lin/201305/39002.shtml 网络接口配置文件 [root@localhost ~]# ...

  4. eclipse+hbase开发环境部署

    一.前言 1. 前提 因为hbase的运行模式是伪分布式,需要用到hdfs,所以在此之前,我已经完成了hadoop-eclipse的开发环境搭建,详细看另一篇文章:hadoop开发环境部署——通过ec ...

  5. 开源项目renren-fast-vue开发环境部署(前端部分)

    开源项目renren-fast-vue开发环境部署(前端部分) 说明:renren-fast是一个开源的基于springboot的前后端分离手脚架,当前版本是3.0 开发文档需要付费,官方的开发环境部 ...

  6. 开源项目renren-fast开发环境部署(后端部分)

    开源项目renren-fast开发环境部署(后端部分) 说明:renren-fast是一个开源的基于springboot的前后端分离手脚架,当前版本是3.0 开发文档需要付费,官方的开发环境部署介绍相 ...

  7. 西秦的ACE-Python教程 一、Python本地开发环境部署

    西秦的ACE-Python教程 一.Python本地开发环境部署       西秦 级别: 论坛版主 发帖 1357 云币 2782 加关注 写私信   只看楼主 更多操作楼主  发表于: 10-10 ...

  8. 【J2EE】struts-2.3.16.3+apache-tomcat-8.0.9开发环境部署,“Hello World”的实现。

    1.在官网下载Struts2的开发包 下载链接如下: http://120.203.229.30/5ff/2bc79/5ff16ae8698e1c321758a8f03a1bc0939892bc79/ ...

  9. Electron开发环境部署

    Electron开发环境部署 安装node.js 可以从node.js官方网站上获取安装包,并进行安装,安装完可以通过 ndoe -v 指令进行版本查看. 本文的开发环境为node.js 4.4.5. ...

随机推荐

  1. Synchronized锁性能优化偏向锁轻量级锁升级 多线程中篇(五)

    不止一次的提到过,synchronized是Java内置的机制,是JVM层面的,而Lock则是接口,是JDK层面的 尽管最初synchronized的性能效率比较差,但是随着版本的升级,synchro ...

  2. k邻近算法(KNN)实例

    一 k近邻算法原理 k近邻算法是一种基本分类和回归方法. 原理:K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例,这K个实例的多数属于某个类,就把该输入实 ...

  3. 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记 - 索引

    大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生. 智能语音交互市场近年来发展迅速,其典型的应用之一智能音箱产品如今已走入千家万户,深受大家 ...

  4. 玩转Spring Cloud之API网关(zuul)

    最近因为工作原因,一直没有空写文章,所以都是边忙项目,边利用空闲时间,周末时间学习总结,最终在下班回家后加班加点写完本篇文章,若有不足之处,还请谅解,谢谢! 本文内容导航: 一.网关的作用 二.网关与 ...

  5. Apache web服务器(LAMP架构)(week3_day4)--技术流ken

    apache介绍 1).世界上使用率最高的网站服务器,最高时可达70%:官方网站:apache.org 2).http 超文本协议 HTML 超文本标记语言 3).URL 统一资源定位符 http:/ ...

  6. pdf.js 使用实例

    pdf.js可以实现在html下直接浏览pdf文档,是一款开源的pdf文档读取解析插件 pdf.js主要包含两个库文件,一个pdf.js和一个pdf.worker.js,,一个负责API解析,一个负责 ...

  7. 【Oracle学习笔记】游标

    1. 分类 常见的游标可分为显示游标.隐式游标.静态游标和动态游标四大类: 1.1 显示游标 显式是相对与隐式cursor而言的,就是有一个明确的声明的cursor.显式游标的声明类似如下: delc ...

  8. 杂牌机搞机之旅(二)————移植TWRP第三方Recovery并刷入

    原本想把杂牌机作为android破解和开发的测试机,破解的话肯定是安装框架的嘛,毕竟有些是要涉及到脱壳 . 但是,我尝试安装xposed的时候,手机卡在了开机界面,也就是magisk出现了错误,如果想 ...

  9. java基础(四):谈谈java中的IO流

    1.字节流 1.1.字节输出流output 1.1.1.数据写入文件中 通过api查找output.找到很多,其中java.io.OutputStream,OutputStream: 输出字节流的超类 ...

  10. Dynamics 365-关于Solution的那些事(二)

    接着上一篇的说,现在有一个已知前提:Solution的增量特性.然后我们再思考这么一个场景,项目开发过程中,存在多次迭代的情况,每次迭代可能涉及到的solution是同一个,唯一区别的,就是solut ...