美文网首页
从安装json-server到局域网访问虚拟机

从安装json-server到局域网访问虚拟机

作者: 愤怒的拖鞋 | 来源:发表于2017-06-24 11:48 被阅读0次

标题够长,主要是因为我也不知道应该怎么形容这个主题。

本来是在学习Retrofit的,但是学着学着突然想学全套。于是想着自己家里弄一个局域网内的REST API,这样方便自己写的安卓小demo可以实现各种REST请求。

于是折腾的从安装json-server到局域网访问虚拟机的过程出现了。

本机环境:

宿主机:Window10 + 虚拟机Ubuntu14.04.5

初步的目标是想让手机浏览器可以成功访问虚拟机。

一,设置虚拟机静态ip

参考链接:

http://www.cnblogs.com/noteless/p/5251336.html

首先,设置虚拟机使用的网络是NAT模式的。

接着打开虚拟机,关闭虚拟机的防火墙,使用命令:sudo ufw disable

确保主机和虚拟机可以互ping成功。

具体流程记录没有截图,请参考以上链接进行配置。

二,Node.js安装

参考链接:

http://blog.csdn.net/w20101310/article/details/73135388

链接中推荐的是使用命令行下载node.js包,我试过,不成功,哪怕我用VPN下载,也不行。

所以我最终选择的是到官网 https://nodejs.org/download/release/ 下载最新版本 node-v8.1.2-linux-x64.tar.xz 。

然后在ubuntu虚拟机中解压:tar -xvf node-v8.1.2-linux-x64.tar.xz

【此步骤可选】然后移动到 /opt/目录下:sudo mv node-v8.1.2-linux-x64 /opt

接下来设置软链接:

sudo ln -s /opt/node-v8.1.2-linux-x64/bin/node /usr/local/bin/node

sudo ln -s /opt/node-v8.1.2-linux-x64/bin/npm /usr/local/bin/npm

三,安装json-server

参考链接:

http://www.cnblogs.com/lewo/p/mock-json-server-install.html

在命令行中输入:sudo npm install json-server -g

在Ubuntu16.04上好像不用为json-server设置链接,但是Ubuntu14.04却不行。需要自己添加软链接:

sudo ln -s /opt/node-v8.1.2-linux-x64/bin/json-server /usr/local/bin/json-server

在任一目录新建文件夹 mockTest,在mockTest下新建db.json文件,输入测试内容:

然后在文件夹mockTest下运行: json-server db.json -p 3003

然后可以看到终端中提示 Resources , http:localhost:3003,在浏览器地址栏中输入 http:localhost:3003,可以看到

说明json-server运行正常。

然后在宿主机的浏览器上访问:http://192.168.31.139:3003/db ,(192.168.31.139:3003是虚拟机的ip)

说明可以正常从宿主机访问虚拟机的json-server。

四,从局域网访问虚拟机

参考链接:

http://blog.csdn.net/u012268339/article/details/61204801

http://www.jianshu.com/p/db488f0ae3c0

从局域网访问虚拟机,因为不能直接访问虚拟机,所以主要配置实现的是一个端口映射的功能。

首先确定相关信息

虚拟机ip:192.168.31.139, 端口:3003

宿主机ip:192.168.2.103

打开VM -> 【编辑】 -> 【虚拟网络编辑器】 -> 【更改设置】:

点击【NAT设置】-> 【添加】,在映射传入端口填写数据如下:

设置完之后,可以在宿主机浏览器中访问:http://192.168.2.103:10010/db

说明端口映射已经正常。但是从手机浏览器目前还不能访问,需要为宿主机的防火墙设置端口例外。

打开windows设置界面,搜索【防火】,进入【防火墙和网络保护】

选择【高级设置】,在【入站规则】右键新建一个入站规则。

规则类型选择TCP,选择特定端口,然后填写之前你映射的宿主机端口,我的是10010.

为这个新增的入站规则命名和填写描述,点击【完成】

现在可以试试在连接了本地wifi的手机端访问: http://192.168.2.103:10010/db

Okay,乱七八糟的配置完成,从局域网成功访问虚拟机...

相关文章

网友评论

      本文标题:从安装json-server到局域网访问虚拟机

      本文链接:https://www.haomeiwen.com/subject/pcbaqxtx.html