当前位置: 首页 > news >正文

CentOS8 安装Yapi

官方安装教程: 内网部署

安装环境版本说明

  • centos8
  • nodejs(node:v10.24.0 npm:6.14.11
  • mongodb(4.4
  • Yapi 1.4.1

1. 安装nodejs

安装NodeJS

[root@bogon my-yapi]# yum install -y nodejs

验证安装

[root@bogon my-yapi]# node -v

v10.24.0

[root@bogon my-yapi]# npm -v

6.14.11

2. 安装和配置MonGoDB4.4

配置MonGODB的YUM源

[root@bogon yum.repos.d]# vi  /etc/yum.repos.d/mongodb-org-4.4.repo

[mongodb-org-4.4]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/

gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

安装MonGoDB 

[root@bogon yum.repos.d]# yum install -y mongodb-org

查看安装路径

[root@bogon yum.repos.d]#  rpm -ql mongodb-org-server

/etc/mongod.conf

/run/mongodb

/usr/bin/mongod

/usr/lib/systemd/system/mongod.service

/usr/share/doc/mongodb-org-server-4.0.28

/usr/share/doc/mongodb-org-server-4.0.28/LICENSE-Community.txt

/usr/share/doc/mongodb-org-server-4.0.28/MPL-2

/usr/share/doc/mongodb-org-server-4.0.28/README

/usr/share/doc/mongodb-org-server-4.0.28/THIRD-PARTY-NOTICES

/usr/share/man/man1/mongod.1.gz

/var/lib/mongo

/var/log/mongodb

/var/log/mongodb/mongod.log

配置MongoDB开机启动

[root@bogon yum.repos.d]# systemctl enable mongod

[root@bogon yum.repos.d]# systemctl start mongod

[root@bogon yum.repos.d]# systemctl status mongod

3.禁用selinux

[root@bogon yum.repos.d]# vi /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of three two values:

#     targeted - Targeted processes are protected,

#     minimum - Modification of targeted policy. Only selected processes are protected.

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted

4. 安装yapi

安装Yapi

[root@bogon yum.repos.d]# npm install -g yapi-cli --registry https://registry.npm.taobao.org

初始化 YApi ,执行yapi server命令,按提示操作

[root@bogon bin]# ./yapi server

在浏览器打开 http://0.0.0.0:9090 访问。非本地服务器,请将 0.0.0.0 替换成指定的域名或ip

从浏览器打开后,出现下面的部署页面

 

点击开始部署后,出现

Error: getaddrinfo ENOTFOUND yapi.demo.qunar.com yapi.demo.qunar.com:80”错误

网上搜索了很多帖子,解决方法均不适用,但知道问题原因在于yapi.demo.qunar.com这个网站已经不再维护。

 

手动将URL换成http://registry.npm.taobao.org/yapi-vendor/download/yapi-vendor-1.10.2.tgz后解决这个问题,方法如下:

[root@bogon src]# cd  [node安装路径]

[root@bogon src]#vi  lib/node_modules/yapi-cli/src/utils.js

    url = 'http://yapi.demo.qunar.com/publicapi/archive/' + version;

    换成url = 'http://registry.npm.taobao.org/yapi-vendor/download/yapi-vendor-1.10.2.tgz'

部署成功!

 

部署过程中出现

“gyp

WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/10.9.0"

gyp

WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/yapi/vendors/node_modules/dtrace-provider/.node-gyp"

gyp

WARN install got an error, rolling back install

gyp WARN

install got an error, rolling back install

gyp

ERR! configure error

gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/local/yapi/vendors/node_modules/dtrace-provider/.node-gyp'

gyp

ERR! System Linux 3.10.0-1160.62.1.el7.x86_64

gyp

ERR! command "/opt/node-v10.9.0-linux-x64/bin/node" "/opt/node-v10.9.0-linux-x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"

gyp ERR! cwd /usr/local/yapi/vendors/node_modules/dtrace-provider

gyp ERR! node -v v10.9.0

gyp ERR! node-gyp -v v3.7.0

gyp ERR! not ok

”错误,但似乎不影响使用。

访问http://http://172.31.115.73:3000/后成功显示yapi界面

 

  1. 安装pm2设置后台启动

[root@bogon src]#npm install -g pm2

使用PM2后台启动Yapi服务

[root@bogon src]#pm2 restart /usr/local/yapi/vendors/server/app.js

相关文章:

  • Git 详细教程之四: Git 对 GitHub 的配置和基本操作
  • 海外众筹:产品出海kickstarter海外众筹流程
  • JVM阶段(4)-回收策略
  • 万字长文保姆级教你制作自己的多功能QQ机器人
  • 365天深度学习 | 第7周:咖啡豆识别
  • 深入剖析JavaScript(二)——异步编程
  • 工业智能网关BL110应用之七: 支持 Modbus ,MQTT,opc 等协议,上传到阿里华为云等LOT
  • c和指针-struct结构
  • 计算机网络 二、网络协议
  • 容器编排工具鉴赏- docker-compose 、Kubernetes、OpenShift、Docker Swarm
  • 【论文笔记】—低光图像增强—Supervised—URetinex-Net—2022-CVPR
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • 12c++呵呵老师【变量,定时器和事件】
  • 元宇宙地产演化史:从文本时代到区块链时代
  • Linux搭建开源企业云盘Seafile,私有文件同步云盘及基本使用
  • [LeetCode] Wiggle Sort
  • 2017 前端面试准备 - 收藏集 - 掘金
  • ERLANG 网工修炼笔记 ---- UDP
  • jquery ajax学习笔记
  • node学习系列之简单文件上传
  • Redash本地开发环境搭建
  • Vue2.0 实现互斥
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 实现简单的正则表达式引擎
  • 小程序测试方案初探
  • C# - 为值类型重定义相等性
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • ​如何防止网络攻击?
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • # 安徽锐锋科技IDMS系统简介
  • #162 (Div. 2)
  • #NOIP 2014# day.1 T2 联合权值
  • (09)Hive——CTE 公共表达式
  • (1) caustics\
  • (1)(1.9) MSP (version 4.2)
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (4.10~4.16)
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (八)Spring源码解析:Spring MVC
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • ***监测系统的构建(chkrootkit )
  • .net 程序发生了一个不可捕获的异常
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET分布式缓存Memcached从入门到实战
  • .net图片验证码生成、点击刷新及验证输入是否正确
  • @四年级家长,这条香港优才计划+华侨生联考捷径,一定要看!
  • [.NET 即时通信SignalR] 认识SignalR (一)
  • [100天算法】-每个元音包含偶数次的最长子字符串(day 53)
  • [ARM]ldr 和 adr 伪指令的区别
  • [BZOJ] 3262: 陌上花开