centos 7 部署 yapi

摘要:
此外,您还可以在任何您喜欢的系统上下载最新的bin包,然后通过FTP将其上载到CentOS。重新启动服务器并输入mongo…..注意:MongoDB使用mongo报告错误1:连接到:mongodb://127.0.0.1:27017/?

yapi是高效、易用、功能强大的API管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务

部署环境要求:

1)nodejs(7.6+)

2)mongodb(2.6+)

一、安装nodejs 

1、首先安装wget 

yum install -y wget

如果已经安装了可以跳过该步, -y 参数代表跳过询问

2、下载nodejs最新的bin包 下载地址:https://nodejs.org/en/download/

wget https://nodejs.org/dist/v9.3.0/node-v9.3.0-linux-x64.tar.xz

然后就是等着下载完毕。
另外你也可以在你喜欢的任意系统上下载最新的bin包,然后通过FTP上传到CentOS上。

3、解压包

依次执行

xz -d node-v9.3.0-linux-x64.tar.xz
tar -xf node-v9.3.0-linux-x64.tar

4、部署bin文件

先确认你nodejs的路径,我这里的路径为/root/node/bin,确认后依次执行

 ln -s /root/node/bin/node /usr/bin/node

 ln -s /root/node/bin/npm /usr/bin/npm

 ln -s /root/node/bin/npm /usr/bin/npx

注意ln指令用于创建关联(类似与Windows的快捷方式)必须给全路径,否则可能关联错误.

5.测试

node -v

npm

npx

6、安装pm2

 npm install -g pm2

ln -s /data/node-v12.4.0-linux-x64/bin/pm2 /usr/bin/pm2  这里安装之后需要指定软连接

 

二、安装mongodb

1、官网下载mongodb 解压到指定路径即可

    解压:tar -zxvf mongodb-linux-x86_64-4.0.6.tgz

  移动:mv ./mongodb-linux-x86_64-4.0.6 /usr/local/mongodb

2、创建用户

[root@mongo ~]# useradd mongod

[root@mongo ~]# echo 123456|passwd --stdin mongod
 
3、在/usr/local/mongodb/ 目录下创建db

创建db目录和日志文件

   mkdir -p ./data/db

   mkdir -p ./logs

   touch ./logs/mongodb.log

创建mongodb.conf文件

vim mongodb.conf

#端口号
port=27017
#db目录
dbpath=/usr/local/mongodb/data/db
#日志目录
logpath=//usr/local/mongodb/logs/mongodb.log
#后台
fork=true
#日志输出
logappend=true
#允许远程IP连接
bind_ip=0.0.0.0

4、

 1)启动

  ./bin/mongod --config mongodb.conf

centos 7 部署 yapi第1张

  2)连接

  ./bin/mongo

centos 7 部署 yapi第2张

3)测试

centos 7 部署 yapi第3张

5.配置mongodb服务开机启动

       1)设置mongodb.service开机服务启动   

       cd /lib/systemd/system
       cat >>mongodb.service<<"EOF"
  [Unit]
  Description=mongodb
  After=network.target remote-fs.target nss-lookup.target

  [Service]
  Type=forking
  ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf
  ExecReload=/bin/kill -s HUP $MAINPID
  ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/mongodb.conf
  PrivateTmp=true

  [Install]
  WantedBy=multi-user.target
       EOF

     然后设置mongodb.service权限

     chmod +x mongodb.service

  #启动服务

     systemctl start mongodb.service    

     #停止服务

     systemctl stop mongodb.service

     #添加开机自启动

     systemctl enable mongodb.service

     #重启服务

     systemctl restart mongodb.service

 2)添加环境变量

     1、直接用export命令:
     export PATH=$PATH:/usr/local/mongodb/bin


     2、修改profile文件:
     cat >>/etc/profile<<"EOF"
     export PATH="$PATH:/usr/local/mongodb/bin"

     EOF

     #刷新profile文件:

     source  /etc/profile


     3、 修改.bashrc文件:

     cat >>/root/.bashrc<<"EOF"
     export PATH="$PATH:/usr/local/mongodb/bin"

     EOF


     上述三步依次执行完毕,环境变量配置完成!!!!

      重启服务器,输入mongo 回车就有了。。。。。

注意:

MongoDB使用mongo报错1:

connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
2019-07-18T15:02:35.529+0800 E QUERY [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: ����Ŀ�����������ܾ����޷����ӡ� :
connect@src/mongo/shell/mongo.js:342:17
在命令行中输入mongo出现连接错误

方法:

首先在命令窗口./mongod,该窗口不要关闭,再另起窗口输入mongo启动即可'

mongod 和 mongo 的区别?

mongod 是启用Mongodb进程,可配置路径进行启用 mongod --dbpath   ①

mongo 命令是连接数据库服务,即连接服务器,可以通过端口进行访问(27017)②

MongoDB使用mongo报错2:

浏览器死活远程访问不了:

未指定访问配置文件,导致未更新

centos 7 部署 yapi第4张

启动命令:指定配置文件启动

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

firewall-cmd --state 查看运行状态

创建管理员用户:

mongodb -mongoDB 没有无敌用户root,只有能管理用户的用户 userAdminAnyDatabase

db.createUser({user:"admin",pwd:"123456",roles:["userAdminAnyDatabase"]})
注:添加完用户后可以使用show users或db.system.users.find()查看已有用户
这里注意不要使用kill直接去杀掉mongodb进程,(如果这样做了,请去data/db目录下删除mongo.lock文件),可以使用db.shutdownServer()关闭,在admin数据库里操作

认证,返回1表示成功

db.auth("admin","123456") 

创建操作用户:

db.createUser({user: "root",pwd: "123456",roles: [{ role: "readWrite", db: “admin” }]})  创建操作数据库用

 


https://blog.csdn.net/u010010606/article/details/79666382?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

6.推荐一款mongodb可视化工具

  Robo 3T :https://robomongo.o

部署yapi
npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server  执行失败--切换到yapi所在路径,./yapi server 即可
centos 7 部署 yapi第5张

填完信息,开始部署

启动yapi: 

cd /root/node/bin/my-yapi

node vendors/server/app.js 

配置文件:/root/node/bin/my-yapi/config.json

五、部署Supervisor

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

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

5.1 安装

yum install python-setuptools -y
easy_install supervisor

 centos 7 部署 yapi第6张

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 进程则代表运行成功。

centos 7 部署 yapi第7张

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

免责声明:文章转载自《centos 7 部署 yapi》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇NTKO OFFICE文档控件C++17结构化绑定下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CentOS 修改主机名

最新文章:Virson's Blog 1.临时修改主机名 地址:http://www.cnblogs.com/mawanglin2008/p/3530790.html 显示主机名: oracle@localhost:~$ hostname localhost 修改主机名: oracle@localhost:~$ sudo hostname orcl1 o...

MongoDB学习笔记-06 数据库命令、固定集合、GridFS、javascript脚本

介绍MongoDB支持的一些高级功能: 数据库命令 固定大小的集合 GridFS存储大文件 MongoDB对服务端JavaScript的支持 数据库命令 命令的原理 MongoDB中的命令其实是作为一种特殊类型的查询来实现的,这些查询针对$cmd集合来执行。runCommand仅仅是接受命令文档,执行等价查询。 >db.runCommand({"dr...

SqlServer图形数据库初体验

  SQL Server2017新增了一个新功能叫做图形数据库。图形指的拓扑图形,是一些Node表和Edge表的合集,Node对应关系数据库中的实体,比如一个人、一个岗位等,Edge表指示Node之前的关系,比如张三在经理岗位。图形表比较适合用来表示这种实体与实体之间有明显关联关系的情况,比如学生和课程,学生是Node表,选课记录是Edge表。下面以比较常...

Nodejs介绍及npm工具使用

一、Nodejs介绍   Nodejs英文网:https://nodejs.org/en/   Nodejs中文网:http://nodejs.cn/ Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。 Node.js 的包管理器 npm,...

nmap命令详解

1、https://www.cnblogs.com/machangwei-8/p/10353004.html 扫描操作系统类型,并统计数量: nmap -F -O 10.16.0.200-255  | grep Running > /tmp/os  echo "$(cat /tmp/os | grep Windows | wc -l) Windows...

centos下 Vim常用快捷键操作命令大全

VIM命令的安装方法:同样vim也有两种安装方法: 一、yum安装,centos下安装软件最简单的方法了,还能解决依赖问题,首推该方法,缺点是源里面有一些软件并不是其官网上最新的 sudo yum install -y vim 二、源码编译安装,今天重点介绍这种方法,不过也挺简单的 1.通过git下载vim最新版 git clone https://git...