標(biāo)題夠長趋翻,主要是因?yàn)槲乙膊恢缿?yīng)該怎么形容這個主題砌左。
本來是在學(xué)習(xí)Retrofit的狰腌,但是學(xué)著學(xué)著突然想學(xué)全套僧鲁。于是想著自己家里弄一個局域網(wǎng)內(nèi)的REST API虐呻,這樣方便自己寫的安卓小demo可以實(shí)現(xiàn)各種REST請求。
于是折騰的從安裝json-server到局域網(wǎng)訪問虛擬機(jī)的過程出現(xiàn)了寞秃。
本機(jī)環(huán)境:
宿主機(jī):Window10 + 虛擬機(jī)Ubuntu14.04.5
初步的目標(biāo)是想讓手機(jī)瀏覽器可以成功訪問虛擬機(jī)。
一偶惠,設(shè)置虛擬機(jī)靜態(tài)ip
參考鏈接:
http://www.cnblogs.com/noteless/p/5251336.html
首先春寿,設(shè)置虛擬機(jī)使用的網(wǎng)絡(luò)是NAT模式的。
接著打開虛擬機(jī)忽孽,關(guān)閉虛擬機(jī)的防火墻绑改,使用命令:sudo ufw disable
確保主機(jī)和虛擬機(jī)可以互ping成功。
具體流程記錄沒有截圖兄一,請參考以上鏈接進(jìn)行配置厘线。
二,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虛擬機(jī)中解壓: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下運(yùn)行: json-server db.json -p 3003
然后可以看到終端中提示 Resources , http:localhost:3003皂贩,在瀏覽器地址欄中輸入 http:localhost:3003,可以看到
說明json-server運(yùn)行正常昆汹。
然后在宿主機(jī)的瀏覽器上訪問:http://192.168.31.139:3003/db 先紫,(192.168.31.139:3003是虛擬機(jī)的ip)
說明可以正常從宿主機(jī)訪問虛擬機(jī)的json-server。
四筹煮,從局域網(wǎng)訪問虛擬機(jī)
參考鏈接:
http://blog.csdn.net/u012268339/article/details/61204801
http://www.reibang.com/p/db488f0ae3c0
從局域網(wǎng)訪問虛擬機(jī)遮精,因?yàn)椴荒苤苯釉L問虛擬機(jī),所以主要配置實(shí)現(xiàn)的是一個端口映射的功能败潦。
首先確定相關(guān)信息
虛擬機(jī)ip:192.168.31.139本冲, 端口:3003
宿主機(jī)ip:192.168.2.103
打開VM -> 【編輯】 -> 【虛擬網(wǎng)絡(luò)編輯器】 -> 【更改設(shè)置】:
點(diǎn)擊【NAT設(shè)置】-> 【添加】,在映射傳入端口填寫數(shù)據(jù)如下:
設(shè)置完之后劫扒,可以在宿主機(jī)瀏覽器中訪問:http://192.168.2.103:10010/db
說明端口映射已經(jīng)正常檬洞。但是從手機(jī)瀏覽器目前還不能訪問,需要為宿主機(jī)的防火墻設(shè)置端口例外沟饥。
打開windows設(shè)置界面添怔,搜索【防火】,進(jìn)入【防火墻和網(wǎng)絡(luò)保護(hù)】
選擇【高級設(shè)置】贤旷,在【入站規(guī)則】右鍵新建一個入站規(guī)則广料。
規(guī)則類型選擇TCP,選擇特定端口幼驶,然后填寫之前你映射的宿主機(jī)端口艾杏,我的是10010.
為這個新增的入站規(guī)則命名和填寫描述,點(diǎn)擊【完成】
現(xiàn)在可以試試在連接了本地wifi的手機(jī)端訪問: http://192.168.2.103:10010/db
Okay盅藻,亂七八糟的配置完成购桑,從局域網(wǎng)成功訪問虛擬機(jī)...