從安裝json-server到局域網(wǎng)訪問虛擬機

標(biāo)題夠長,主要是因為我也不知道應(yīng)該怎么形容這個主題。

本來是在學(xué)習(xí)Retrofit的,但是學(xué)著學(xué)著突然想學(xué)全套。于是想著自己家里弄一個局域網(wǎng)內(nèi)的REST API,這樣方便自己寫的安卓小demo可以實現(xiàn)各種REST請求。

于是折騰的從安裝json-server到局域網(wǎng)訪問虛擬機的過程出現(xiàn)了。

本機環(huán)境:

宿主機:Window10 + 虛擬機Ubuntu14.04.5

初步的目標(biāo)是想讓手機瀏覽器可以成功訪問虛擬機。

一,設(shè)置虛擬機靜態(tài)ip

參考鏈接:

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

首先,設(shè)置虛擬機使用的網(wǎng)絡(luò)是NAT模式的。

接著打開虛擬機,關(guān)閉虛擬機的防火墻,使用命令:sudo ufw disable

確保主機和虛擬機可以互ping成功。

具體流程記錄沒有截圖,請參考以上鏈接進行配置。


二,Node.js安裝

參考鏈接:

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

鏈接中推薦的是使用命令行下載node.js包,我試過,不成功,哪怕我用VPN下載,也不行。

所以我最終選擇的是到官網(wǎng) 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

接下來設(shè)置軟鏈接:

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設(shè)置鏈接,但是Ubuntu14.04卻不行。需要自己添加軟鏈接:

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

在任一目錄新建文件夾 mockTest,在mockTest下新建db.json文件,輸入測試內(nèi)容:

然后在文件夾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。

四,從局域網(wǎng)訪問虛擬機

參考鏈接:

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

http://www.itdecent.cn/p/db488f0ae3c0

從局域網(wǎng)訪問虛擬機,因為不能直接訪問虛擬機,所以主要配置實現(xiàn)的是一個端口映射的功能。

首先確定相關(guān)信息

虛擬機ip:192.168.31.139, 端口:3003

宿主機ip:192.168.2.103

打開VM -> 【編輯】 -> 【虛擬網(wǎng)絡(luò)編輯器】 -> 【更改設(shè)置】:

點擊【NAT設(shè)置】-> 【添加】,在映射傳入端口填寫數(shù)據(jù)如下:

設(shè)置完之后,可以在宿主機瀏覽器中訪問:http://192.168.2.103:10010/db

說明端口映射已經(jīng)正常。但是從手機瀏覽器目前還不能訪問,需要為宿主機的防火墻設(shè)置端口例外。

打開windows設(shè)置界面,搜索【防火】,進入【防火墻和網(wǎng)絡(luò)保護】

選擇【高級設(shè)置】,在【入站規(guī)則】右鍵新建一個入站規(guī)則。

規(guī)則類型選擇TCP,選擇特定端口,然后填寫之前你映射的宿主機端口,我的是10010.

為這個新增的入站規(guī)則命名和填寫描述,點擊【完成】

現(xiàn)在可以試試在連接了本地wifi的手機端訪問: http://192.168.2.103:10010/db

Okay,亂七八糟的配置完成,從局域網(wǎng)成功訪問虛擬機...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評論 19 139
  • 如果我們在虛擬機內(nèi)搭建好服務(wù)器后,希望可以在局域網(wǎng)內(nèi)的設(shè)備上都能訪問到這個虛擬服務(wù)器,就可以參照以下步驟來操作。其...
    Tuzei閱讀 53,266評論 1 18
  • 名詞延伸 通俗的說,域名就相當(dāng)于一個家庭的門牌號碼,別人通過這個號碼可以很容易的找到你。如果把IP地址比作一間房子...
    楊大蝦閱讀 20,793評論 2 56
  • 題目就是今天的日期,記錄當(dāng)下所思. 成都的燕每天步行,每天記錄,約三年。她的屋頂櫻園,也在轉(zhuǎn)換經(jīng)營理念。 柯和槿,...
    我的四合院閱讀 139評論 0 1
  • 前幾天小玉子在朋友圈上發(fā)了一句話:最近有點想談戀愛,太可怕了,我要出去多玩玩喝喝酒打消這個念頭。 我下意識地點了個...
    楊顏閱讀 683評論 0 3

友情鏈接更多精彩內(nèi)容