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
环境准备
解决步骤如下:
l 步骤一:清理yum命令缓存: sudo yum clean all
l 步骤二:yum卸载低版本nodejs: yum remove nodejs npm -y
l 步骤三:获取源,安装高版本nodejs:
curl -sL https://rpm.nodesource.com/setup_8.x | bash -
sudo yum install -y nodejs
l 步骤四:验证版本:
node -v
npm -v
l 步骤五:安装Git:
验证版本:git –version
安装: yum install -y git
l 步骤六:安装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
l 步骤七: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的子网掩码和默认网关:



好了,大功告成,完结撒花!!!
本文来自博客园,作者:ByYear,转载请注明原文链接:https://www.cnblogs.com/hongc/articles/yapi.html

浙公网安备 33010602011771号