zoukankan      html  css  js  c++  java
  • centos 7 部署 yapi

    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

      2)连接

      ./bin/mongo

    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:

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

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

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

    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 即可

    填完信息,开始部署

    启动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

     

    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
  • 相关阅读:
    ORACLE中order by造成分页不正确原因分析
    各种数据库分页语句整理以及Oracle数据库中的ROWNUM和ORDER BY的区别
    Spring配置文件一直报错的根源所在
    java加密用到了BASE64Decoder时报错信息:Access restriction: The type BASE64Encoder is not accessible due to restrict
    Eclipse报错:An internal error occurred during: "Building workspace". Java heap space),卡死解决办法
    云数据库场景问题经典案例——分页优化
    DDL失败案例
    Java笔试题解答
    模拟购物车表格
    addTodo 模型
  • 原文地址:https://www.cnblogs.com/zjjing/p/13540934.html
Copyright © 2011-2022 走看看