转载自 https://www.linuxidc.com/Linux/2018-01/150513.htm

在mongoDB添加yum源时,源路径有修改,原文中的路径404不可用

一、准备工作

1.1 环境

操作系统:CentOS 7 (租了个阿里云服务器  CentOS 7.3 64位)

环境要求:

  • nodejs(7.6+)
  • mongodb(2.6+)

二、部署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是守护进程服务,在没有守护进程之前存在一些问题:

  1. 应用程序运行在当前终端发起的子shell中,hangup信号中断后会导致应用退出,我们不可能在长期使用的环境中用一个终端去做长连接。
  2. 当服务器重启后,还是需要人工连上服务器启动服务。
  3. 进程出现意外终止,等人为发现再连上去开启,这样的反应显然已经慢了。

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/

本文永久更新链接地址http://www.linuxidc.com/Linux/2018-01/150513.htm

CentOS部署yapi的更多相关文章

  1. centos部署yapi爬坑记

    前言 这几天终于完成了为期三个月的公司某个demo版的项目,在这期间和公司的后台因为API的事怼过无数次了,'我的接口没问题,是你请求的方式不对吧!'.'一定是你请求的参数不对'......诸如此类问 ...

  2. (转)Centos下,Docker部署Yapi接口管理平台

    接口测试的工具很多,公司引进了接口管理平台Yapi,自己尝试直接搭建,从安装Nodejs到配置MongoDB数据库,再到安装yapi的时候,遇到浏览器打开本地服务器Ip地址后,没有显示部署内容...没 ...

  3. Centos下,Docker部署Yapi接口管理平台(详细得令人发指)

    接口测试的工具很多,公司引进了接口管理平台Yapi,自己尝试直接搭建,从安装Nodejs到配置MongoDB数据库,再到安装yapi的时候,遇到浏览器打开本地服务器Ip地址后,没有显示部署内容...没 ...

  4. Centos下,Docker部署Yapi接口管理平台

    前言介绍 Yapi 由 YMFE 开源,旨在为开发.产品.测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建.发布.维护 API. 项目地址:https://github.com/YMFE/ya ...

  5. Linux服务部署Yapi项目(安装Node Mongdb Git Nginx等)

    Linux服务部署Yapi 一,介绍与需求 1,我的安装环境:CentOS7+Node10.13.0+MongoDB4.0.10. 2,首先安装wget,用于下载node等其他工具 yum insta ...

  6. Center OS 7 通过Docker部署yapi

    Center OS 7 通过Docker部署yapi 版本要求 Linux Center OS 7 安装Docker #Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前 ...

  7. 跳过 centos部署 webpy的各种坑

    用centos部署webpy发现的各种坑: 1.python 版本: 2.中文编码: 3.web模块路径: 在命令行里输入python,能import web,但是网站错误报告一直报告没有找到web模 ...

  8. 【Linux】Centos部署MySQL

    将CentOS部署MySQL需要本地配置环境.本地编译MySQL,耗时较长的情况,优化为编译成型MySQL并打包,推送并按配置部署. 首先需要在一台机器配置好环境,搭个YUM源,并将所需要的包取出备用 ...

  9. Tigase XMPP Server在CentOS部署和配置

    Tigase XMPP Server在CentOS部署与配置 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 以下讲述Tigase XMPP Server ...

随机推荐

  1. flex 实例 豆瓣手机端布局实现

    0.最终成品

  2. Mac Java Idea 下面Git配置简要教程

    Mac Java Idea 配置简要教程(Sunplay) 1.找到git路径 终端输入:which git 2.在idea的设置git路径 3.测试Git的效果 测试Git成功的效果

  3. 用Python将绝对URL替换成相对URL的代码

    下面的内容内容是关于用Python将绝对URL替换成相对URL的内容,应该是对码农有些用途. #!/usr/bin/env python### author : cold night# email : ...

  4. ASP.NETMVC 分页

    <div class="text-center">    <span style="display:inline-block;  position:re ...

  5. 如何连接别人电脑上的Oracle数据库?

    需要一些前提条件: 1.对方的主机能被连接(如在同一局域网内) 2.需要知道对方数据库IP.端口号.服务名 3.需要知道对方提供的管理数据库的用户名及密码 连接方法: 1.在本地的oracle安装目录 ...

  6. java网络爬虫基础学习(一)

    刚开始接触java爬虫,在这里是搜索网上做一些理论知识的总结 主要参考文章:gitchat 的java 网络爬虫基础入门,好像要付费,也不贵,感觉内容对新手很友好. 一.爬虫介绍 网络爬虫是一个自动提 ...

  7. python标准日志模块logging及日志系统设计

    最近写一个爬虫系统,需要用到python的日志记录模块,于是便学习了一下. python的标准库里的日志系统从Python2.3开始支持.只要import logging这个模块即可使用.如果你想开发 ...

  8. .NET 增加扩展方法

    声明:通过一个js的实例来告诉你C#也可以实现这样的效果. 在JS中是这样实现的: 你是否见过JS中给系统默认Array对象增加一个自定义查重方法contains 在没有给Array原型上增加cont ...

  9. 自定义class类的简单使用

    晚上闲着无事, 然后看了阮老师的es6 的类用法,包括继承. 然后, 想着在vue中怎么使用class . 1. 定义一个 classmodel.js 文件. 里面包含如下代码: 2.接着, 在vue ...

  10. day06(深浅拷贝,元组,字典,集合)

    1,今日内容: 1.深浅拷贝:**** 2.元组 - 元组可以存放可变类型 *** 3.字典:***** -- 增删改查 -- 常用方法 4.集合:** -- 集合运算 5.数据类型的相互转化 *** ...