YApi二次开发环境部署
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二次开发环境部署的更多相关文章
- Linux——Django 开发环境部署(二)python版本控制器pyenv
python版本控制器pyenv 之前的 那篇是说明了django环境的site package完全独立出来了,但是使用的python解释器还是系统的,为了继续独立出来,甚至是达到ruby的rvm的自 ...
- 一个CentOS7的开发环境部署,包括防火墙|VPN|多IP多网关|HTTP代理服务器设置等
http://www.lenggirl.com/code/centos7.html layout: post title: "一个CentOS7的开发环境部署,包括防火墙|VPN|HTTP代 ...
- linux 下 ifcfg-eth0 配置/CentOS_minimal安装和开发环境部署
CentOS_minimal安装和开发环境部署:http://www.th7.cn/system/lin/201305/39002.shtml 网络接口配置文件 [root@localhost ~]# ...
- eclipse+hbase开发环境部署
一.前言 1. 前提 因为hbase的运行模式是伪分布式,需要用到hdfs,所以在此之前,我已经完成了hadoop-eclipse的开发环境搭建,详细看另一篇文章:hadoop开发环境部署——通过ec ...
- 开源项目renren-fast-vue开发环境部署(前端部分)
开源项目renren-fast-vue开发环境部署(前端部分) 说明:renren-fast是一个开源的基于springboot的前后端分离手脚架,当前版本是3.0 开发文档需要付费,官方的开发环境部 ...
- 开源项目renren-fast开发环境部署(后端部分)
开源项目renren-fast开发环境部署(后端部分) 说明:renren-fast是一个开源的基于springboot的前后端分离手脚架,当前版本是3.0 开发文档需要付费,官方的开发环境部署介绍相 ...
- 西秦的ACE-Python教程 一、Python本地开发环境部署
西秦的ACE-Python教程 一.Python本地开发环境部署 西秦 级别: 论坛版主 发帖 1357 云币 2782 加关注 写私信 只看楼主 更多操作楼主 发表于: 10-10 ...
- 【J2EE】struts-2.3.16.3+apache-tomcat-8.0.9开发环境部署,“Hello World”的实现。
1.在官网下载Struts2的开发包 下载链接如下: http://120.203.229.30/5ff/2bc79/5ff16ae8698e1c321758a8f03a1bc0939892bc79/ ...
- Electron开发环境部署
Electron开发环境部署 安装node.js 可以从node.js官方网站上获取安装包,并进行安装,安装完可以通过 ndoe -v 指令进行版本查看. 本文的开发环境为node.js 4.4.5. ...
随机推荐
- docker-compose使用备忘(转)
Docker-Compose简介 Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排. Docker-Compose将所管理的容器分为三层,分别是工 ...
- 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU开发那些事 - 索引
大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是飞思卡尔i.MX RT系列微控制器相关知识. 飞思卡尔半导体(现恩智浦半导体)于2017年开始推出的i.MX RT系列开启了高性能MC ...
- [Vue] vue中setInterval的问题
vue中使用setInterval this.chatTimer = setInterval(() => { console.log(this.chatTimer); this.chatMsg( ...
- 将Xml文件递归加载到TreeView中
#region [通过XDocument的方式将Xml文件递归到TreeView控件中] //读取Xml文件(XDocument) //1.加载Xml文件 XDocument document=XD ...
- C#/VB.NET设置Excel表格背景色
在查看很多有复杂的数据的表格时,为了能够快速地找到所需要的数据组时,往往需要对该数据组进行分类,一个简单快速的方法就是对数据组所在的单元格填充背景颜色,这样就使得我们在阅读文件时能够直观的看到数据分类 ...
- 怎么从Linux服务器上下载超过4G的文件?
使用sz命令下载文件时,超过4G下载不了,如何下载呢? 本文介绍的方法是先对该文件进行拆分,拆分成多个小于4G的文件,然后分别下载,下载到本地后再进行合并或直接解压,具体操作如下: 1.分拆为多个文件 ...
- Vue.js实现注册功能
编写html,通过vue-resource.js库向后台提交数据 <!DOCTYPE html> <html lang="en"> <head> ...
- Parcelable 小记
Parcelable 类,接口类,用于数据的序列化封装.常见的Bundle,Intent类都实现了该类. 实现该类需要实现writeToParcel和describeContents方法,最后还需 ...
- 解决在圆角手机(如小米8)上自定义Dialog无法全屏的问题
在小米8等一系列圆角的手机上测试项目时,发现我的自定义dialog无法全屏了,这时我的dialog全屏的解决方案还是和网上大部分人是一样的 Window window = getWindow(); i ...
- 【Docker笔记】-开启TCP管理端口
如果我们通过docker来整合spring cloud项目,可以通过maven-docker插件将构建好的镜像直接推送到docker服务器上,但是生产环境建议关闭该功能,为了安全考虑.开启tcp远程监 ...