CentOS部署yapi
转载自 https://www.linuxidc.com/Linux/2018-01/150513.htm
在mongoDB添加yum源时,源路径有修改,原文中的路径404不可用
二、部署nodejs
部署nodejs尽可能选择偶数版本,因为偶数版本官方有较长的维护时间,故这次选择8.x。
# 获取资源
curl -sL https://rpm.nodesource.com/setup_8.x | bash -
# 安装
yum install -y nodejs
# 查看node版本
node -v
# 查看npm版本
npm -v

三、部署mongodb
mongodb装的是2.6
3.1 添加yum源
# 修改文件mongodb.repo
vim /etc/yum.repos.d/mongodb.repo
添加下面的内容,wq保存。
[mongodb-org]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck= 0
enabled=1
3.2 安装
yum install -y mongodb-org
3.3 禁用selinux

官方教程有提到selinux对mongodb会产生负面影响,故选择禁用。
# 修改config文件
vim /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled,wq保存。
# 重启OS
reboot
3.4 关闭防火墙
由于需要做数据迁移,所以直接省事将防火墙直接关了。
# 关闭,并取消开机启动
systemctl stop firewalld
systemctl disable firewalld
3.5 启动
systemctl start mongod
四、部署YApi
4.1 安装
npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server

根据提示,浏览器访问 http://部署YApi服务器的IP:9090。

填写完信息后,点击“开始部署”。(大概等待1分钟)


# 退出当前状态
CTRL + C
4.2 修改配置
这里我们不急着根据提示进行启动,有些参数我们可以通过修改配置达到。
# 修改config.json
vim /root/my-yapi/config.json
修改下面的内容(我用的qq邮箱,不同的邮箱host,port有所不同),wq保存。
{
"port": "80", // 可不改,80是http协议的默认端口,这样修改访问时可以不输入ip.不改则用3000端口访问
"adminAccount": "yizitadmin@yizit.cn",
"db": {
"servername": "127.0.0.1",
"DATABASE": "yapi",
"port": "27017"
},
"mail": {
"enable": true,
"host": "smtp.qq.com",
"port": 465,
"from": "可用于发送邮件的邮箱",
"auth": {
"user": "邮箱",
"pass": "邮箱对应的密码或授权码"
}
}
}
4.3 启动
# 切换到部署目录下
cd /root/my-yapi
# 启动服务
node vendors/server/app.js
由于修改了配置,所以直接访问 http://部署YApi服务器的IP/login。
(ps:没有进行4.2修改配置的话是访问http://部署YApi服务器的IP:3000/login)

五、部署Supervisor
Supervisor是守护进程服务,在没有守护进程之前存在一些问题:
- 应用程序运行在当前终端发起的子shell中,hangup信号中断后会导致应用退出,我们不可能在长期使用的环境中用一个终端去做长连接。
- 当服务器重启后,还是需要人工连上服务器启动服务。
- 进程出现意外终止,等人为发现再连上去开启,这样的反应显然已经慢了。
5.1 安装
yum install python-setuptools -y
easy_install supervisor

5.2 修改配置
# 创建目录/etc/supervisor
mkdir /etc/supervisor
# 创建supervisord.conf模板文件
echo_supervisord_conf > /etc/supervisor/supervisord.conf
# 修改文件supervisord.conf
vim /etc/supervisor/supervisord.conf
增加下面的内容,wq保存。
[include]
files = conf.d/*.conf
如果服务已启动,修改配置文件可用“supervisorctl reload”命令来使其生效)
# 创建目录/etc/supervisor/conf.d/
mkdir -p /etc/supervisor/conf.d/
# 修改文件YApi.conf
vim /etc/supervisor/conf.d/YApiGhost.conf
增加下面的内容,wq保存。
[program: YApiGhost]
command=node vendors/server/app.js ; 运行程序的命令
directory=/root/my-yapi ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
stderr_logfile=/var/log/YApiGhost.err.log ; 错误日志文件
stdout_logfile=/var/log/YApiGhost.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT
5.3 启动
# 根据supervisord.conf启动守护进程
supervisord -c /etc/supervisor/supervisord.conf
# 查看进程
ps -ef | grep YApiGhost
如果存在YApiGhost 进程则代表运行成功。

5.4 设置为开机启动
# 修改文件supervisord.service
vim /usr/lib/systemd/system/supervisord.service
添加下面的内容,wq保存。
[Unit]
Description=Supervisor daemon [Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop=/usr/bin/supervisorctl shutdown
ExecReload=/usr/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s [Install]
WantedBy=multi-user.target
# 开机启动
systemctl enable supervisord
参考资料:
1.https://github.com/YMFE/yapi
2.http://www.linuxidc.com/Linux/2018-01/150512.htm
3.https://github.com/nodesource/distributions#rpm
5.https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/
CentOS部署yapi的更多相关文章
- centos部署yapi爬坑记
前言 这几天终于完成了为期三个月的公司某个demo版的项目,在这期间和公司的后台因为API的事怼过无数次了,'我的接口没问题,是你请求的方式不对吧!'.'一定是你请求的参数不对'......诸如此类问 ...
- (转)Centos下,Docker部署Yapi接口管理平台
接口测试的工具很多,公司引进了接口管理平台Yapi,自己尝试直接搭建,从安装Nodejs到配置MongoDB数据库,再到安装yapi的时候,遇到浏览器打开本地服务器Ip地址后,没有显示部署内容...没 ...
- Centos下,Docker部署Yapi接口管理平台(详细得令人发指)
接口测试的工具很多,公司引进了接口管理平台Yapi,自己尝试直接搭建,从安装Nodejs到配置MongoDB数据库,再到安装yapi的时候,遇到浏览器打开本地服务器Ip地址后,没有显示部署内容...没 ...
- Centos下,Docker部署Yapi接口管理平台
前言介绍 Yapi 由 YMFE 开源,旨在为开发.产品.测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建.发布.维护 API. 项目地址:https://github.com/YMFE/ya ...
- Linux服务部署Yapi项目(安装Node Mongdb Git Nginx等)
Linux服务部署Yapi 一,介绍与需求 1,我的安装环境:CentOS7+Node10.13.0+MongoDB4.0.10. 2,首先安装wget,用于下载node等其他工具 yum insta ...
- Center OS 7 通过Docker部署yapi
Center OS 7 通过Docker部署yapi 版本要求 Linux Center OS 7 安装Docker #Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前 ...
- 跳过 centos部署 webpy的各种坑
用centos部署webpy发现的各种坑: 1.python 版本: 2.中文编码: 3.web模块路径: 在命令行里输入python,能import web,但是网站错误报告一直报告没有找到web模 ...
- 【Linux】Centos部署MySQL
将CentOS部署MySQL需要本地配置环境.本地编译MySQL,耗时较长的情况,优化为编译成型MySQL并打包,推送并按配置部署. 首先需要在一台机器配置好环境,搭个YUM源,并将所需要的包取出备用 ...
- Tigase XMPP Server在CentOS部署和配置
Tigase XMPP Server在CentOS部署与配置 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 以下讲述Tigase XMPP Server ...
随机推荐
- 网页三剑客:HTML+CSS+JavaScript 之JavaScript
JavaScript 简介 JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记本电脑.平板电脑和智能手机等设备. JavaScrip ...
- 第七课 路径与列表 html5学习2
1.路径 一.相对路径1.同级路径2.下级路径 /3.上级路径 ../上一级路径 ../../上两级二.绝对路径 2.列表 列表特点;整齐.整洁.有序 一.无序列表语法格式<ul> < ...
- Basic Linux Privilege Escalation
(Linux) privilege escalation is all about: Collect - Enumeration, more enumeration and some more enu ...
- 小米平板6.0系统如何无ROOT激活xposed框架的步骤
在较多企业的引流,或业务操作中,基本上都需要使用安卓的黑高科技术Xposed框架,近期,我们企业购买了一批新的小米平板6.0系统,基本上都都是基于7.0以上系统,基本上都不能够获得ROOT的su权限, ...
- 测者的测试技术手册:测试应该关注java.util.List.subList的坑
java中有一个返回子列表的方法: public list<E> subList(int fromIndex, int toIndex){ subListRangeCheck( ...
- rabbitmq之基本原理及搭建单机环境
1.RabbitMQ基本原理 1.MQ全称Message Queue,是一种分布式应用程序的通信方法,是消费-生产者模型的典型代表,producer向消息队列中不断写入消息,而另一端consumer则 ...
- Docker-Docker-compose应用
Docker-compose是用来定义和运行多容器应用的工具,它是独立于docker存在的,需要单独安装.实际应用场景中,我们的应用可能被打包运行在不同的容器里面,例如一个常规的web应用可能会涉及到 ...
- 如何学好java
今天发现这么一篇文章,对于笔者谈的:"一方面很努力学习,一方面又觉得不踏实",我感同身受.觉得文章写得不错,在此献给一些在java中努力的朋友们,希望能有所收获. 文章原内容: 近 ...
- Windows 10 远程连接出现函数错误 【这可能由于CredSSP加密Oracle修正】
win+R 弹出窗口输入gpedit.msc 计算机配置=>管理模板=>系统=>凭据分配=>加密Oracle修正 编辑策略设置=>已启用=>保护级别=>易受攻 ...
- RobotFramework第一篇之环境搭建
定义:是一款python编写的功能自动化测试框架,具备良好的扩展性,可以进行分布性测试 1:对编程能力要求低,容易上手 2:关键字调用方式,已经定义好的功能,只需要去调用它,一个关键字实现了一个功能, ...