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

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

本来是在学习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,乱七八糟的配置完成,从局域网成功访问虚拟机...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,969评论 19 139
  • 如果我们在虚拟机内搭建好服务器后,希望可以在局域网内的设备上都能访问到这个虚拟服务器,就可以参照以下步骤来操作。其...
    Tuzei阅读 52,837评论 1 18
  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,644评论 2 56
  • 题目就是今天的日期,记录当下所思. 成都的燕每天步行,每天记录,约三年。她的屋顶樱园,也在转换经营理念。 柯和槿,...
    我的四合院阅读 130评论 0 1
  • 前几天小玉子在朋友圈上发了一句话:最近有点想谈恋爱,太可怕了,我要出去多玩玩喝喝酒打消这个念头。 我下意识地点了个...
    杨颜阅读 627评论 0 3