CentOS7部署YApi

CentOS7部署YApi

虚拟机启动CentOS7镜像出现的问题

Win10 VMware Workstation与Device/Credential Guard不兼容

启动VMware的CentOS镜像,出现如下错误提示:

 

解决步骤如下:

步骤一:关闭“内核隔离”
1、在Win10搜索框 搜索内存隔离,进入;

 


2、查看内存完整性这里是否打开,如打开一定要关闭它。

 



步骤二:关闭 Hyper-V内置虚拟机
1、搜索启用或关闭Windows功能

 


2、打开启用或关闭windows功能,把Hyper-v取消,然后确定;

 


步骤三:关闭 Device/Credenti
1、win+ R“打开运行,输入gpedit.msc输入,确定打开本地组策略编辑器


2、转到本地计算机策略 > 计算机配置 > 管理模板>系统 > Device Guard打开 基于虚拟化的安全设置为“已禁用”


第四步:命令行操作
1、按 “win键+ X”,选择“Windows PowerShell(管理员)(A)”

2、输入命令:
bcdedit /set hypervisorlaunchtype off
回车即可

通过上面四年步骤下来,最好是重启一下电脑,那么你的VMWare虚拟机又可以正常使用了

启动CentOs系统时提示未开启虚拟化设置

解决步骤如下:

步骤一:重启系统, 进入 BIOS( 系统启动的过程中不停按住 F2 按键或者按住 Delete 按键进入 BIOS)

步骤二:在CPU设置那里找到Intel (VMX) Virtualization Technology,将其开启

 

 

步骤三:保存退出,再重启系统,打开虚拟机后就可以启动了(开启虚拟化成功后打开任务管理器显示如下):

 

 

CentOS7 安装 YAPI

环境要求

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

环境准备

解决步骤如下:

步骤一:清理yum命令缓存: sudo yum clean all

 

步骤二:yum卸载低版本nodejs: yum remove nodejs npm -y

 

步骤三:获取源,安装高版本nodejs:

curl -sL https://rpm.nodesource.com/setup_8.x | bash -

sudo yum install -y nodejs

 

步骤四:验证版本:

node -v

npm -v

 

步骤五:安装Git:

验证版本:git –version

安装: yum install -y git

 

步骤六:安装mongodb

配置MongoDB的yum源,输入vi /etc/yum.repos.d/mongodb-org-4.0.repo,打开文件,添加如下内容:

[mongodb-org-4.0]

    name=MongoDB Repository

    baseurl=https://repo.mongodb.org/yum/redhat/7Server/mongodb-org/4.0/x86_64/

    gpgcheck=0

    enabled=1

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

 

安装MongoDB:

yum install -y mongodb-org

 

安装完毕后,查看安装目录:

rpm -ql mongodb-org-server

 

输入vim /etc/selinux/config,打开文件,将SELINUX=enforcing改为SELINUX=disabled,按下ESC退出编辑模式,按下:wq保存文件

 

启动mongodb:

systemctl enable mongod

systemctl start mongod

systemctl status mongod

步骤七:YAPI安装:

npm install -g yapi-cli --registry https://registry.npm.taobao.org

yapi server

用浏览器打开http://127.0.0.1:9090地址(YAPI部署默认端口为9090),出现如下界面:

 

 

点击开始部署:

 

 

部署完成后:

 

 

输入cd /usr/local/yapi/ && node vendors/server/app.js(这里的/usr/local/yapi用你的部署路径替代)

浏览器访问:http://127.0.0.1:3000/,安装成功

 

 

点击登录/注册(默认账号:admin@admin.com,默认密码:ymfe.org):

 

 

安装完成后,还存在一个问题,那就是管理控制台窗口后,服务也会关闭,所以需要安装pm2,让启动的服务作为一个守护进程存在,这样关闭控制台窗口,也不会关闭服务,解决方法如下:

安装pm2:

npm install -g pm2 --registry=https://registry.npm.taobao.org

 

根据yapi的安装目录执行如下命令(例如目录如下:/usr/local/yapi):

启动执行: pm2 start /usr/local/yapi/vendors/server/app.js

 

如果要关闭守护进程:pm2 stop /usr/local/yapi/vendors/server/app.js

 

如果要对yapi进行升级,执行如下命令:

cd /usr/local/yapi/ && yapi ls

yapi update

也可以升级到指定的版本:

yapi update -v{Version}

 

备注

l  每次服务器重启,mongodb和yapi都需要重启

l  如果安装失败,可能是目录权限问题,本文基于centos7 root用户安装,安装过程未遇到明显问题

本地主机访问虚拟机部署的网站

打开虚拟机电源并记下虚拟机的 IP 地址。确保 IP 地址设置为静态

 

 

关闭虚拟机电源

在 VMware Workstation 工具栏中,单击编辑 > 虚拟网络编辑器

 

 

选择在特殊虚拟机上配置的 vmnet NAT 适配器。

 


注意:vmnet8 是默认的 NAT 适配器。

选择 NAT 设置选项。将显示“NAT 设置”对话框

 

 

单击添加,将显示“映射传入端口”对话框

 

 

输入以下详细信息:

 

 

主机端口 – 未使用的端口。例如,可以使用端口 8078

虚拟机端口 – 在虚拟机内部运行的 Web 服务器的端口号

虚拟机 IP 地址 – 要连接到 NAT 连接的虚拟机的 IP 地址(在第 1 步记录)

将类型设置为 TCP

添加描述

单击确定

打开虚拟机电源并根据需要配置 Web 服务器,确保对虚拟机上的 Web 服务器使用在第 7 步中配置的相同端口号

现在,您应能够使用 <主机名>:<端口> 访问安装在虚拟机内的 Web 服务器。例如您在第 7 步选择的端口 8078,或者 <物理网络上的主机 IP 地址>:<端口></主机>

这是我根据VMware的官网进行的配置:

 

 

但是当我用本机主机(也就是我的Windows10的浏览器)访问http://127.0.0.1:8078时,得到的结果让我相当郁闷:

 

 

经过又一轮的排查问题,终于找到了问题的关键所在,那就是CentOS7系统的防火墙在搞事情,然后将CentOS7虚拟机的防火墙关闭掉:

查看防火墙状态: firewall-cmd –state

停止firewall:systemctl stop firewalld.service

禁止firewall开机启动:systemctl disable firewalld.service

再次在本地主机浏览器输入http://127.0.0.1:8078时,本地浏览器就可以浏览到虚拟机部署的网站:

 

 

但是,为了让本地主机可以访问虚拟机的网站,就要关闭虚拟机的防火墙,如果虚拟机是真正的主机,我要把它的防火墙给关闭掉,不是相当让它当街裸奔吗,既然已经知道了是因为防火墙导致的我无法访问,那我就让防火墙打开指定的端口不就行吗,然后我就百度了一下开启指定端口的命令:

开启指定端口的命令如下:firewall-cmd --zone=public --add-port=3000/tcp –permanent

然后重新加载防火墙:firewall-cmd –reload

然后再次在本地主机上浏览网站:

 

 

番外篇:

之前自己也在虚拟机上部署了gitlab,现在通过上面的方式,也可以让我的本地主机访问我虚拟机部署的gitlab网站:

 

 

当然,搞了这么多动作,只是因为我的虚拟机采用的是NAT模式的网络连接方式,如果采用桥接模式,应该不需要搞那么事情了;

 

 

还有上面提到了IP地址必须是静态的,就是要设置固定IP,如下:

 

 

 

 

 

 

这里提一下,为什么是VMware8,这是因为我们装了VMware这个工具后,VMware会为我们启动两个适配器,其中VMware8用于NAT模式使用,VMware1用于仅主机模式

右键VMware8,点击属性,进入如下页面:

 

双击Internet 协议版本4(TCP/IPv4),打开如下界面,选择使用下面的IP地址(S),配置对应的选项,这里的子网掩码与默认网关对应虚拟机网络编辑器下VMware8的子网掩码和默认网关:

 

 

 

 

好了,大功告成,完结撒花!!!

 

 

 

posted @ 2022-07-12 00:42  ByYear  阅读(191)  评论(0)    收藏  举报