博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS部署yapi
阅读量:7066 次
发布时间:2019-06-28

本文共 3375 字,大约阅读时间需要 11 分钟。

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

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

 

一、准备工作

1.1 环境

操作系统: 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 Repositorybaseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/gpgcheck= 0enabled=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 firewalldsystemctl disable firewalld

 3.5 启动

systemctl start mongod

四、部署YApi

 4.1 安装

npm install -g yapi-cli --registry https://registry.npm.taobao.orgyapi 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 -yeasy_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=forkingExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.confExecStop=/usr/bin/supervisorctl shutdownExecReload=/usr/bin/supervisorctl reloadKillMode=processRestart=on-failureRestartSec=42s[Install]WantedBy=multi-user.target 

 # 开机启动

systemctl enable supervisord

参考资料:

 1.

 2.

 3.

 5.

本文永久更新链接地址

 

转载于:https://www.cnblogs.com/dll-ft/p/10695900.html

你可能感兴趣的文章
power shell测试wmi
查看>>
话里话外:成功CEO的用人之道——按需激励
查看>>
openwrt无线连接互联网的实现原理【1】
查看>>
WPS for Linux(ubuntu)字体配置(字体缺失解决办法)
查看>>
谷歌为Pwnium***竞赛再掷重金 将提供200万美元奖金
查看>>
搭建K8S高可用集群(二进制方式)
查看>>
BSON与JSON的区别
查看>>
我的友情链接
查看>>
Play Framework 模板里使用注入访问数据层
查看>>
Win2008学习(十一),解决Remote App Web访问的证书问题
查看>>
python 实现 自动oa 签到签退 发送邮件提醒
查看>>
今天打开阿里妈妈惊现 ¥50 元佣金
查看>>
Oracle 正确删除archivelog文件
查看>>
微信JS 关闭网页
查看>>
[AAuto]给百宝箱增加娱乐功能
查看>>
Tigase XMPP Server源码部署
查看>>
Intellij IDEA创建Maven Web项目
查看>>
java 7 入门书籍
查看>>
Android Pdf文档的生成、显示与打印
查看>>
SpringMVC三种异常处理方式
查看>>