转载自 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。

# 获取资源

  1. curl -sL https://rpm.nodesource.com/setup_8.x | bash -

# 安装

  1. yum install -y nodejs

# 查看node版本

  1. node -v

# 查看npm版本

  1. npm -v

三、部署mongodb

mongodb装的是2.6

3.1 添加yum源

# 修改文件mongodb.repo

  1. vim /etc/yum.repos.d/mongodb.repo

添加下面的内容,wq保存。

  1. [mongodb-org]
  2. name=MongoDB Repository
  3. baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
  4. gpgcheck= 0
  5. enabled=1

3.2 安装

  1. yum install -y mongodb-org

3.3 禁用selinux

官方教程有提到selinux对mongodb会产生负面影响,故选择禁用。

# 修改config文件

  1. vim /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled,wq保存。

# 重启OS

  1. reboot

 3.4 关闭防火墙

由于需要做数据迁移,所以直接省事将防火墙直接关了。

# 关闭,并取消开机启动

  1. systemctl stop firewalld
  2. systemctl disable firewalld

 3.5 启动

  1. systemctl start mongod
  2.  

四、部署YApi

 4.1 安装

  1. npm install -g yapi-cli --registry https://registry.npm.taobao.org
  2. yapi server

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

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

# 退出当前状态

CTRL + C

 4.2 修改配置

这里我们不急着根据提示进行启动,有些参数我们可以通过修改配置达到。

# 修改config.json

  1. vim /root/my-yapi/config.json

修改下面的内容(我用的qq邮箱,不同的邮箱host,port有所不同),wq保存。

  1. {
  2. "port": "80", // 可不改,80是http协议的默认端口,这样修改访问时可以不输入ip.不改则用3000端口访问
  3. "adminAccount": "yizitadmin@yizit.cn",
  4. "db": {
  5. "servername": "127.0.0.1",
  6. "DATABASE": "yapi",
  7. "port": "27017"
  8. },
  9. "mail": {
  10. "enable": true,
  11. "host": "smtp.qq.com",
  12. "port": 465,
  13. "from": "可用于发送邮件的邮箱",
  14. "auth": {
  15. "user": "邮箱",
  16. "pass": "邮箱对应的密码或授权码"
  17. }
  18. }
  19. } 

 4.3 启动

# 切换到部署目录下

  1. cd /root/my-yapi

# 启动服务

  1. node vendors/server/app.js

由于修改了配置,所以直接访问 http://部署YApi服务器的IP/login。

(ps:没有进行4.2修改配置的话是访问http://部署YApi服务器的IP:3000/login)

  1.  

五、部署Supervisor

Supervisor是守护进程服务,在没有守护进程之前存在一些问题:

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

5.1 安装

  1. yum install python-setuptools -y
  2. easy_install supervisor

5.2 修改配置

# 创建目录/etc/supervisor

  1. mkdir /etc/supervisor

# 创建supervisord.conf模板文件

  1. echo_supervisord_conf > /etc/supervisor/supervisord.conf

# 修改文件supervisord.conf

  1. vim /etc/supervisor/supervisord.conf

增加下面的内容,wq保存。

  1. [include]
  2. files = conf.d/*.conf

如果服务已启动,修改配置文件可用“supervisorctl reload”命令来使其生效)

# 创建目录/etc/supervisor/conf.d/

  1. mkdir -p /etc/supervisor/conf.d/

# 修改文件YApi.conf

  1. vim /etc/supervisor/conf.d/YApiGhost.conf

增加下面的内容,wq保存。

  1. [program: YApiGhost]
  2. command=node vendors/server/app.js ; 运行程序的命令
  3. directory=/root/my-yapi ; 命令执行的目录
  4. autorestart=true ; 程序意外退出是否自动重启
  5. stderr_logfile=/var/log/YApiGhost.err.log ; 错误日志文件
  6. stdout_logfile=/var/log/YApiGhost.out.log ; 输出日志文件
  7. environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
  8. user=root ; 进程执行的用户身份
  9. stopsignal=INT

 5.3 启动

# 根据supervisord.conf启动守护进程

  1. supervisord -c /etc/supervisor/supervisord.conf

# 查看进程

  1. ps -ef | grep YApiGhost

如果存在YApiGhost 进程则代表运行成功。

5.4 设置为开机启动

# 修改文件supervisord.service

  1. vim /usr/lib/systemd/system/supervisord.service

添加下面的内容,wq保存。

  1. [Unit]
  2. Description=Supervisor daemon
  3.  
  4. [Service]
  5. Type=forking
  6. ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
  7. ExecStop=/usr/bin/supervisorctl shutdown
  8. ExecReload=/usr/bin/supervisorctl reload
  9. KillMode=process
  10. Restart=on-failure
  11. RestartSec=42s
  12.  
  13. [Install]
  14. WantedBy=multi-user.target 

# 开机启动

  1. 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. mysql进阶知识

    一.存储引擎 引擎 指的是一个系统的核心部分 引擎有不同分类是为了适应不同的使用场景 查看mysql支持所有引擎 show engines; MRG_MYISAM 是一堆MYISAM表的集合 用于做水 ...

  2. 《JavaScript高级程序设计》笔记:面向对象的程序设计(六)

    面向对象的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象. 理解对象 创建自定义对象的最简单的方法就是创建一个Object的实例,然后再为它添加属性和方法.例 ...

  3. Nginx支持 React browser router

    修改nginx配置文件,添加try_file配置如下,即可实现对 React browser router 的支持. location / { root /var/www/mysite; try_fi ...

  4. 【Android】用Cubism 2制作自己的Live2D——初见!

    前言- 现在很多手游的UI上都不约而同的放置一个Live2D模型,这仿佛已经成为了一个业界的潜规则之类的东西.作为一名深受手机游戏毒害的90后,我也没有忘记小时候励志当一名技术宅的梦想,也想试试自己做 ...

  5. Android为TV端助力 EventBus出现has no public methods called onEvent的问题

    Caused by: de.greenrobot.event.EventBusException: Subscriber class com.hhzt.iptv.lvb_w.socket.MyMsgS ...

  6. centos7后台服务部署jar包

    centos7 服务部署jar包 centos7 服务介绍 CentOS7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分, 每一个 ...

  7. MyDAL - .Where() 之 .WhereSegment 根据条件 动态设置 Select查询条件 使用

    索引: 目录索引 一.API 列表 1.WhereSegment 属性,指示 根据条件 动态拼接 where 查询过滤条件 见如下示例. 二.API 单表-完整 方法 举例 // 上下文条件 变量 v ...

  8. Spark MLlib KMeans 聚类算法

    一.简介 KMeans 算法的基本思想是初始随机给定K个簇中心,按照最邻近原则把分类样本点分到各个簇.然后按平均法重新计算各个簇的质心,从而确定新的簇心.一直迭代,直到簇心的移动距离小于某个给定的值. ...

  9. Rx响应式编程

    RX响应式编程就是异步数据流编程:单击事件或事件总线;(观察者模式) 有一堆的函数能够创建流,也能将任何流-,也能将任何流进行组合和过滤.一个流能够作为另一个流的输入,能够将两个流合并,可以通过过滤流 ...

  10. delphi中WMI的使用(网卡是否接入)

    WMI(Windows Management Instrumentation,Windows 管理规范)是一项核心的 Windows 管理技术:用户可以使用 WMI 管理本地和远程计算机. 通过使用W ...