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. 通过 UI 管理 docker

    Docker 正在被用在越来越多的场景中,对于不太习惯命令行工具的朋友来说,docker cli 用起来可能会比较吃力.本文笔者将介绍一个功能强大的 docker web 客户端:portainer( ...

  2. 数据分析之matplotlib.pyplot模块

    首先都得导模块. import numpy as np import pandas as pd import matplotlib.pyplot as plt from pandas import S ...

  3. windows环境设置mysql自动备份(测试成功)

    00.背景介绍 最近做了个小程序,使用的是mysql数据库,涉及到将程序数据备份的事:虽然大部分数据库客户端工具都具有备份功能,但并不能做到定期自动备份:在Windows环境下,手工备份MySQL是很 ...

  4. PostgreSQL相关整理

    PostgreSQL权限管理之创建可更新表的普通用户 https://my.oschina.net/aven92/blog/528943 PostgreSQL学习手册(角色和权限) http://ww ...

  5. 【转载】Sqlserver日期时间格式化总结

    在Sqlserver数据库中,允许存储datetime的时间类型,该存储类型包含时间的时分秒以及毫秒等数值,在SQL语句查询的时候,很多时候我们需要对查询出来的日期数据进行格式化操作,Sqlserve ...

  6. .Net学前入门

    概念:.NET和C# .NET/dotnet:一般指.Net Framework框架,是一种平台,一种技术: .net由.net平台以及.Net Framework框架组成,我们可以把.net平台比喻 ...

  7. IOC之Unity的使用详解

    原文链接:https://www.cnblogs.com/hua66/p/9670639.html Unity作为Microsoft推出IOC容器,其功能是非常丰富的,其中需要注意的地方也不少.以下是 ...

  8. vue中使用provide和inject刷新当前路由(页面)

    1.场景 在处理列表时,常常有删除一条数据或者新增数据之后需要重新刷新当前页面的需求. 2.遇到的问题 1. 用vue-router重新路由到当前页面,页面是不进行刷新的 2.采用window.rel ...

  9. Linux网络基本网络配置方法介绍

    网络信息查看 设置网络地址: cat /etc/sysconfig/network-scripts/ifcfg-eth0 你将会看到: DEVICE=eth0BOOTPROTO=staticsHWAD ...

  10. Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式

    Python第十四天 序列化  pickle模块  cPickle模块  JSON模块  API的两种格式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Py ...