百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

Centos7.4 Yapi 服务搭建 centos7搭建apache

csdh11 2024-12-27 12:37 26 浏览

Centos Yapi服务搭建

转载请标明原文出处

参考以下网址,排名不分先后

https://github.com/YMFE/yapi
https://blog.csdn.net/guangzhou007_java/article/details/90779222
https://www.jianshu.com/p/994bc7b19b26

我的服务器环境

阿里云服务器 centos 7.4
使用 https://oneinstack.com/auto/ 搭建的lnmp环境
以下所有操作全部基于root用户

环境要求

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

开始搭建

一、安装nodejs


  • 先检查是否已经安装了nodejs,如果安装了版本低于环境要求,请先卸载删除
[root@moyang /]# node -v 


  • yum删除nodejs低版本库
[root@moyang /]# yum remove nodejs npm -y


  • 删除nodejs安装目录及软链接,以下为yum安装所在目录
[root@moyang /]# rm -rf /usr/bin/npm
[root@moyang /]# rm -rf /usr/bin/node
[root@moyang /]# rm -rf /usr/lib/node_modules
  • 安装10以上版本nodejs
[root@moyang /]# yum clean all && yum makecache fast
[root@moyang /]# yum install -y gcc-c++ make


  • 添加10以上nodejs yum库
[root@moyang /]# curl -sL https://rpm.nodesource.com/setup_10.x | sudo -E bash -


  • yum安装nodejs
[root@moyang /]# yum install -y nodejs
[root@moyang /]# node -v // 本次安装的版本为:v10.19.0
[root@moyang /]# npm -v // 本次安装的版本为:6.13.4


二、安装mongodb


  • 1、切换到安装目录
[root@moyang /]# cd /usr/local


  • 2、下载mongodb4.0压缩包
[root@moyang local]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.0.tgz


  • 3、解压缩安装包,重命名文件夹 && 删除压缩包
[root@moyang local]# tar zxvf mongodb-linux-x86_64-4.0.0.tgz
[root@moyang local]# mv mongodb-linux-x86_64-4.0.0 mongodb && rm -f mongodb-linux-x86_64-4.0.0.tgz


  • 4、配置环境变量 && 使其生效
[root@moyang local]# cd / && vim /etc/profile

export PATH=/usr/mongodb/bin:$PATH

[root@moyang /]# source /etc/profile


  • 5、查看mongodb版本,如果正确显示,则表示环境变量配置成功
[root@moyang /]# mongod --version // 显示如下:
db version v4.0.0
git version: 3b07af3d4f471ae89e8186d33bbb1d5259597d51
allocator: tcmalloc
modules: none
build environment:
    distarch: x86_64
    target_arch: x86_6


  • 6、创建数据库目录和日志目录
[root@moyang /]# cd /usr/local/mongodb
[root@moyang mongodb]# mkdir db && mkdir log && touch log/mongodb.log


  • 7、创建mongodb配置文件
[root@moyang mongodb]# vim /usr/local/mongodb/mongodb.conf // 添加以下内容

# 端口
port=27017

# 数据库存文件存放目录
dbpath=/usr/local/mongodb/db

# 日志文件存放路径
logpath=/usr/local/mongodb/log/mongodb.log

# 使用追加的方式写日志
logappend=true

# 以守护进程的方式运行,创建服务器进程
fork=true

# 最大同时连接数
maxConns=100

# 不启用验证
noauth=true
#auth=true

# 每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)
# 即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。
journal=true

# 存储引擎有mmapv1、wiretiger、mongorocks
storageEngine=wiredTiger

# 这样就可外部访问了,例如从win10中去连虚拟机中的MongoDB
bind_ip=0.0.0.0


  • 8、mongodb命令 && 查看是否启动成功
[root@moyang mongodb]# ./bin/mongod -f mongodb.conf  // 启动,显示如下:

about to fork child process, waiting until server is ready for connections.
forked process: 30685
child process started successfully, parent exiting

[root@moyang mongodb]# ./bin/mongod --shutdown -f mongodb.conf  // 停止,显示如下:

killing process with pid: 30685

[root@moyang mongodb]# ps -ef|grep mongod // 查看mongod进程状态


  • 9、使用service服务启动mongod
[root@moyang /]# cd / && vim /etc/init.d/mongod 
// 添加内容如下
--------------------------------------------------------
#!/bin/sh
#chkconfig:

#MogoDB home directory 
MONGODB_HOME=/usr/local/mongodb

#mongodb command  
MONGODB_BIN=$MONGODB_HOME/bin/mongod

#mongodb config file
MONGODB_CONF=$MONGODB_HOME/mongodb.conf

#mongodb PID
MONGODB_PID=/var/run/mongo.pid

#set open file limit
SYSTEM_MAXFD=65535

MONGODB_NAME="mongodb"
. /etc/rc.d/init.d/functions

if [ ! -f $MONGODB_BIN ]
    then
        echo "$MONGODB_NAME startup: $MONGODB_BIN not exists! "  
        exit
fi

start(){
    ulimit -HSn $SYSTEM_MAXFD
    $MONGODB_BIN -f "$MONGODB_CONF"
    ret=$?
    if [ $ret -eq 0 ]; then
        action #34;Starting $MONGODB_NAME: " /bin/true
    else
        action #34;Starting $MONGODB_NAME: " /bin/false
    fi
}


stop(){
    PID=$(ps aux |grep "$MONGODB_NAME" |grep "$MONGODB_CONF" |grep -v grep |wc -l)
    if [[ $PID -eq 0  ]];then
        action #34;Stopping $MONGODB_NAME: " /bin/false
        exit
    fi
    kill -HUP `cat $MONGODB_PID`
    ret=$?
    if [ $ret -eq 0 ]; then
        action #34;Stopping $MONGODB_NAME: " /bin/true
        rm -f $MONGODB_PID
    else
        action #34;Stopping $MONGODB_NAME: " /bin/false
    fi
}

restart() {
    stop
    sleep 2
    start
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
        status $prog
        ;;
    restart)
        restart
        ;;
    *)
        echo #34;Usage: $0 {start|stop|status|restart}"
esac
--------------------------------------------------------

[root@moyang /]# chmod +x /etc/init.d/mongod
[root@moyang /]# service mongod start       // 启动服务
[root@moyang /]# service mongod restart     // 重启服务
[root@moyang /]# service mongod stop        // 停止服务


  • 10、配置系统服务启动mongod
[root@moyang /]# vim /lib/systemd/system/mongod.service
// 添加内容如下
--------------------------------------------------------
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target

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

[Install]
WantedBy=multi-user.target
--------------------------------------------------------

[root@moyang /]# chmod 754 /lib/systemd/system/mongod.service
[root@moyang /]# systemctl status mongod.service    // 查看启动状态
[root@moyang /]# systemctl start mongod.service     // 启动服务
[root@moyang /]# systemctl restart mongod.service   // 重启服务
[root@moyang /]# systemctl stop mongod.service      // 停止服务


00f">小知识:开机启动服务相关命令

centos7自启项已不用chkconfig

  • https://www.cnblogs.com/zwcry/p/9602756.html
  • 查看开机自启项 左边是服务名称,右边是状态,enabled是开机启动,disabled是开机不启动
[root@moyang /]# systemctl list-unit-files


  • 过滤查看开机启动项
[root@moyang /]# systemctl list-unit-files | grep enabled
[root@moyang /]# systemctl list-unit-files | grep mongod


  • 启用 | 禁用 开机启动
[root@moyang /]# systemctl enable mongod    // 启用
[root@moyang /]# systemctl disable mongod   // 禁用


三、安装git

[root@moyang /]# yum -y install git


开始部署Yapi

注意事项


云服务器请先确认安全组是否开放 3000 9090端口
服务器的防火墙和iptables是否开放 3000 9090端口或者可以直接关闭这两个服务

http://tool.chinaz.com/port/

  1. 开始搭建YApi,安装命令
[root@moyang /] npm install -g yapi-cli --registry https://registry.npm.taobao.org


  1. 启动服务
[root@moyang /] yapi server
在浏览器打开 http://0.0.0.0:9090 访问。非本地服务器,请将 0.0.0.0 替换成指定的域名或ip  


  1. 在线部署
  • 在浏览器访问 :9090 服务器公网ip>
  • 根据提示配置,如果mongodb数据库开启了权限认证,需要开启下图的数据库认证,并且输入数据库账号,密码
  • 部署完成启动Yapi服务,这种模式shell终端不能关闭
[root@moyang /] node <yapi部署路径>/vendors/server/app.js


yapi服务管理

利用pm2方便服务管理维护。

// 更换npm淘宝镜像源
[root@moyang /] npm config set registry https://registry.npm.taobao.org
// 安装pm2
[root@moyang /] npm install pm2 -g
// pm2管理yapi服务
[root@moyang /] cd  {yapi部署路径}
[root@moyang yapi] pm2 start "vendors/server/app.js" --name yapi //启动服务
[PM2] Starting /data/wwwroot/yapi/vendors/server/app.js in fork_mode (1 instance)
[PM2] Done.
┌─────┬─────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id  │ name    │ namespace   │ version │ mode    │ pid      │ uptime │ ?    │ status    │ cpu      │ mem      │ user     │ watching │
├─────┼─────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0   │ yapi    │ default     │ 1.8.7   │ fork    │ 13231    │ 0s     │ 0    │ online    │ 0%       │ 13.1mb   │ root     │ disabled │
└─────┴─────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴─────────
[root@moyang /] pm2 info yapi       //查看服务信息
[root@moyang /] pm2 stop yapi       //停止服务
[root@moyang /] pm2 restart yapi    //重启服务


00f">小知识:mongodb开启权限验证

https://www.jianshu.com/p/62736bff7e2e
也可以使用windows终端https://robomongo.org/

  1. 首先检查mongodb.conf设置,设置不使用权限认证
[root@moyang /] vim /usr/loca/mongodb/mongodb.conf
noauth=true
#auth=true


  1. 使用shell终端工具连接mongod,创建用户及用户权限
[root@moyang /] ./usr/local/mongodb/bin/mongo
MongoDB shell version v4.0.0
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 4.0.0
> use admin
> db.createUser({user:"root",pwd:"root",roles:["root"]})
Successfully added user: { "user" : "root", "roles" : [ "root" ] }
> use yapi
> db.createUser({user:"yapi",pwd:"yapi",roles:["dbOwner"]})
Successfully added user: { "user" : "yapi", "roles" : [ "dbOwner" ] }
> exit


  1. 修改mongodb.conf,设置使用权限认证,重启mongod服务
[root@moyang /] vim /usr/loca/mongodb/mongodb.conf
#noauth=true
auth=true
[root@moyang /] service mongod restart


开始使用

  1. 在浏览器访问 :3000 服务器公网ip> 就可以开始使用yapi了
  2. 点击登录 账号: 在线部署时填写的管理员邮箱> 密码: > 默认密码:>
  3. 登录成功后可以修改密码


去未知的世界进行探索

相关推荐

全能硬件大师AIDA64 v4.60 最新绿色版下载

IT之家(www.ithome.com):全能硬件大师AIDA64v4.60最新绿色版下载今天,国外FinalWire公司正式发布全能系统硬件大师AIDA64v4.60最新版。本次新版加入14款...

2023年4款Mac软件推荐,绝不失望(mac2020i3)

1.VDown-免费下载视频是最近mac上出现的免费的视频下载软件,支持超过900多个站点,虽然看上去支持的站点略少于Downie,但是熟悉的网站B站,Youku全部都有,国外的站点,只要有办法访问...

实验设计和数据分析必不可少的Design-expert,谁还不会用呢?

Design-Expert软件介绍...

关于视频格式的那些事儿(视频格式作用)

闲暇之余,相信很多人的选择就是看视频。电视剧、综艺、手机短视频,总有一款适合你。然而播放这些视频时,你是否注意到了文件名后各种各样的后缀名了呢?是否会好奇为什么会存在这么多视频格式?不同的格式是不是影...

机器人学习也要提速提质!智元机器人发布首个通用具身基座大模型

去年已实现量产近千台的人形机器人公司智元机器人再度对外宣布重磅消息。3月10日,该公司正式发布首个通用具身基座大模型,即智元启元大模型(GenieOperator-1)。“GO-1大模型借助人类和多...

软网推荐:硬盘管理用好Macrorit Partition Expert

平时我们经常需要对硬盘进行管理,比如为了释放空间,需要将隐藏分区删除并重建分区;出于隐私保护,需要彻底删除硬盘分区上的数据;硬盘出现坏道需要将其屏蔽等等。诸如此类的操作,现在借助免费且图形化操作的分区...

Design-Expert 12.0 安装教程(附安装包下载)

Design-Expert12.0软件介绍是一款由Stat-EaseInc开发的专用于执行实验设计(DOE)的软件。它提供比较测试、筛选、表征、优化、稳健的参数设计、混合物设计和组合设计等功能,并...

不用在PLC内编程,实现西门子与罗克韦尔(AB)PLC之间数据通讯

巨控NET400数据网关支持多种PLC之间、PLC与智能仪表之间多对多通讯,支持以太网,串口设备混合数据交换;无需PLC内编程开发,只需在智能网关的参数管理软件上配置数据的起始地址和数量即可,支持热插...

S7-1500PLC做OPC UA通信服务器(s7-1200 opc ua)

OPCUA概述OPCUA是一项开放标准,适用于从机器到机器间(M2M)的水平通信和从机器直到云端的垂直通信。该标准独立于供应商和平台,支持广泛的安全机制,并且可以与PROFINET共享同一工...

WINCC配置OPC UA服务器的步骤和故障解决

WINCC配置OPCUA服务器的步骤和故障解决本次配置实例的环境:在同一局域网内的两台计算机,均为windows7SP1系统一台计算机安装wincc7.4,并建立项目,项目在运行状态一台计算机安...

视频格式在线转换,五种超实用的视频格式转换工具!

视频内容无处不在,从教育课程到娱乐电影,从社交媒体分享到在线会议,视频已成为我们日常生活中不可或缺的一部分。然而,不同的设备和平台支持的视频格式各异,会导致视频文件在某些设备上无法播放。因此,掌握视频...

支持裸眼3D:长虹X1手机/全新CHIQ电视发布

IT之家讯10月16日消息国产传统家电品牌长虹此前也一直有智能手机产品,但关注度并不高。今天下午,长虹举行发布会,发布了两款以裸眼3D技术为卖点的产品,分别为长虹X1手机和全新CHIQ曲面电视。长...

h265和h264有什么区别(h265和h264有什么区别)

目前很多摄像机采用了H.265的编码标准,H.264编码的摄像机逐渐减少,为什么H.265会流行?H.264和H.265有何不同?一、什么是H.265...

中文白皮书:面向视频编解码器和图形引擎的前沿多媒体方案 WP497

该白皮书探讨了ZynqUltraScale+MPSoC的多媒体功能。MPSoC基于Zynq-7000SoC,包括一个可编程逻辑(PL)的桥接处理系统(PS),但它在ZynqUltr...

科达NVR家族换新装:推出首款通用型H.265+4K NVR

近期,科达推出业内首款通用型H.265+4KNVR——NVR1821,吹响NVR家族全面升级的号角。据了解,保持原有通用型产品“高性价比”定位的基础上,全新NVR1821系列增加了4路4K解码+1路...