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. Flask的session使用

    由于http是无状态保存的协议,session可以看作不同请求之间保存数据的一种机制.flask的session是基于cookie的会话保持. 流程 当客户端进行第一次请求的时候,客户端的HTTP r ...

  2. sql:常用函数

    1.验证是否是null,是则替换ISNULL(Weight, 50) SELECT AVG(ISNULL(Weight, 50))FROM Production.Product; 2.连接多个字符串  ...

  3. c# Base64解密加密

    private static string base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ...

  4. ssh远程连接vm 安装的ubuntu

    准备工作 安装包  vmware 虚拟机.xshell.ubuntu 1.软件安装比较简单,这里不做介绍 2.选择虚拟机连接方式 3.添加虚拟IP 配置 编辑->虚拟网络编辑器->选择vm ...

  5. 前端面试知识点集锦(JavaScript篇)

    目录 1.谈谈你对Ajax的理解?(概念.特点.作用) 2.说说你对延迟对象deferred的理解? 3.什么是跨域,如何实现跨域访问? 4.为什么要使用模板引擎? 5.JavaScript是一门什么 ...

  6. 移动端click延迟和tap事件

    一.click等事件在移动端的延迟 click事件在移动端和pc端均可以触发,但是在移动端有延迟现象. 1.背景 由于早期移动设备浏览网页时内容较小,为了增强用户体验,苹果公司专门为移动设备设计了双击 ...

  7. .net c#将数据库数据对象转换为实体值对象

    using System; using System.Data; namespace Sunlib { public static class DataHelper { //将数据库数据对象转换为实体 ...

  8. js坚持不懈之15:修改html内容和属性的方法

    1. 修改 HTML 内容 <!DOCTYPE html> <html> <body> <p id = "change">原始内容& ...

  9. phpdocumentor 安装以及使用说明

    一  缘由 最近改版公司网站和app端的api,发现很多函数和方法都没写注释,搞得每次调用之前还需要看底层实现,有的方法名和功能还类似,区分不出使用哪个最优!为了避免给后人挖坑,除了将代码写得规范外, ...

  10. wordpress如何利用插件添加优酷土豆等视频到自己的博客上

    wordpress有时候需要添加优酷.土豆等网站的视频到自己的博客上,传统的分享方法不能符合电脑端和手机端屏幕大小的需求,又比较繁琐,怎样利用插件的方法进行添加呢,本视频向你介绍一款这样的插件——Sm ...