使用虛擬機(jī)常常是為了調(diào)試服務(wù)器,因?yàn)樵谧烂嫦到y(tǒng)安裝服務(wù)程序,一來(lái)容易有安全問(wèn)題,更重要是容易拖慢系統(tǒng)。
使用虛擬機(jī)常常是為了調(diào)試服務(wù)器,因?yàn)樵谧烂嫦到y(tǒng)安裝服務(wù)程序,一來(lái)容易有安全問(wèn)題,更重要是容易拖慢系統(tǒng)。
VirtualBox作為一款輕快的開(kāi)源虛擬機(jī)軟件,自從被Sun公司收購(gòu)后,更新相當(dāng)頻繁,功能也逐漸完善,比起VMware動(dòng)輒幾百M(fèi)的安裝文件,VirtualBox幾十M的身材而功能絲毫不在VMware之下,而且性能遠(yuǎn)遠(yuǎn)高出VMware。
如果把虛擬機(jī)作為服務(wù)器調(diào)試工具,VM默認(rèn)是使用橋接方式連接虛擬機(jī)和
主機(jī),安裝完后虛擬機(jī)直接對(duì)主機(jī)可見(jiàn),調(diào)試很方便,但是VBox則默認(rèn)是NAT方式,主機(jī)完全訪問(wèn)不了虛擬機(jī)。
除了設(shè)置VBox為橋接方式外(有點(diǎn)麻煩),另一更加簡(jiǎn)捷的方式是給虛擬機(jī)開(kāi)端口。這和使用家用路由器映射端口原理是一樣的,經(jīng)過(guò)路由器后,局域網(wǎng)內(nèi)的機(jī)器對(duì)公網(wǎng)外是不可見(jiàn)的,但是通過(guò)添加端口映射,公網(wǎng)就可以訪問(wèn)到內(nèi)網(wǎng)的機(jī)器。
VirtualBox 的User Manual(2.1.4版)在6.4.1介紹了這個(gè)方法:使用VBox自帶的VBoxManage工具設(shè)置端口映射。下面是介紹一個(gè)例子:
主機(jī):Ubuntu 8.10
虛擬機(jī):Win XP + phpStudy 套件(Apache、MySQL….),Apache在81端口提供服務(wù)。
配置后通過(guò)主機(jī)的8080訪問(wèn)虛擬機(jī):localhost:8080。
在虛擬機(jī)關(guān)機(jī)情況下,在主機(jī)終端執(zhí)行:
VBoxManage setextradata “xp” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/web/Protocol” TCP
VBoxManage setextradata “xp” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/web/GuestPort” 81
VBoxManage setextradata “xp” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/web/HostPort” 8080
VBoxManage是VirtualBox的配置工具,setextradata只是其中一個(gè)方法。”xp”是虛擬機(jī)的名稱,而”VBoxInternal/Devices/pcnet/0/LUN#0/Config/web/…”是該虛擬機(jī)的一個(gè)屬性,其中/web/是可以任意設(shè)置的名稱。如果虛擬機(jī)用的虛擬網(wǎng)卡不是默認(rèn)的PCNet,而是用了Intel PRO/1000,則需把路徑中的“pcnet”替換為“e1000”,同樣地,如果你為虛擬機(jī)配置了n個(gè)網(wǎng)卡,則要把/0/換成相應(yīng)的序列。
重新運(yùn)行虛擬機(jī),在Host的瀏覽器里敲入
https://localhost:8080/phpinfo.php,虛擬機(jī)里面的php環(huán)境顯示出來(lái)了。注意此時(shí)對(duì)主機(jī)網(wǎng)絡(luò)內(nèi)的其他機(jī)器,也可以通過(guò)本機(jī)的8080端口訪問(wèn)到虛擬機(jī)的web服務(wù)(當(dāng)然,前提是主機(jī)的
防火墻沒(méi)有攔截該端口)。不過(guò)無(wú)法為主機(jī)小于1024端口進(jìn)行映射(設(shè)了之后虛擬機(jī)啟動(dòng)報(bào)錯(cuò)),這涉及到Unix/Linux的保護(hù)措施,可能在root賬戶下可用。有興趣的在Windows 平臺(tái)試試,可能沒(méi)此限制。
注意在虛擬機(jī)運(yùn)行的時(shí)候這樣配置是無(wú)效的,必須重新啟動(dòng)一次,休眠(save state)了再開(kāi)也可以。
如果想刪除這些映射,同樣執(zhí)行以上的命令,而把最后的命令值留空即可,如:
VBoxManage setextradata “xp” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/web/Protocol”
VBoxManage工具是VirtualBox自帶的配置工具,不論是Linux、Mac還是Windows平臺(tái)下,都有這個(gè)工具,使用方法都是一樣的。
以上就是小編今天分享的全部?jī)?nèi)容。