最近在學(xué)nodejs,不知道有沒有人跟我有一樣的困惑,每次學(xué)新東西配置實驗環(huán)境都是個麻煩事(其實也沒那么麻煩)浆洗,主要是當(dāng)自己的電腦裝了一堆環(huán)境,一堆IDE后集峦,總會變得臃腫不堪伏社,而且經(jīng)常遇到莫名其妙的問題,解決麻煩塔淤,還容易造成系統(tǒng)的不穩(wěn)定摘昌。而且每換一臺電腦,所有的東西需要重新配置高蜂。
所以我一直在想有一臺專屬的實驗服務(wù)器就好了(可是對于學(xué)生來說還是貴按侠琛),我可以在上面裝我的專屬實驗環(huán)境备恤,并且不用擔(dān)心污染我的本地電腦稿饰,而且重裝系統(tǒng),或者在不同電腦上也能快速的恢復(fù)實驗環(huán)境露泊!
所以我就想能不能用虛擬機
做一臺專屬的實驗服務(wù)器湘纵,后來發(fā)現(xiàn)是可行的,并且裝了server版的虛擬機基本不怎么吃資源滤淳。
這里介紹一下如何用虛擬機構(gòu)建一臺服務(wù)器,我是用的vmware砌左,用virtualbox基本也差不多脖咐,除了端口映射那里不太一樣
安裝虛擬機
首先安裝一個虛擬機,這里網(wǎng)上大量教材就不提供了汇歹,這里我是用的ubuntu-server屁擅,注意安裝的時候,最后選擇安裝包的時候产弹,把openssh帶上派歌。或者安裝完后通過命令安裝
sudo apt-get install openssh-server
安裝完通過查看痰哨,如果有sshd
說明安裝成功
配置網(wǎng)絡(luò)
這里我采用的NAT
模式胶果,該模式的好處是不用管外界ip地址的變化(比如說辦公環(huán)境經(jīng)常變換,ip地址也經(jīng)常變換)斤斧,內(nèi)部ip部會改變早抠,這樣可以免去頻繁修改host文件的煩惱。
我這里使用的vmware撬讽,把22號端口暴露出去(可以在公網(wǎng)中訪問)
編輯-虛擬網(wǎng)絡(luò)編輯器
點擊【NAT設(shè)置】- 【添加】蕊连,這里輸入端口號22悬垃,然后虛擬機的ip地址(進入虛擬機通過ipconfig獲得),我這里是192.168.91.133
填完之后確定甘苍,我們虛擬機就配置完了
virtualBOX
對于virtualbox來說其實更簡單尝蠕,直接點擊端口轉(zhuǎn)發(fā)就行了
配置host
這里,為了訪問虛擬機方便载庭,或者避免虛擬機ip地址變化導(dǎo)致程序需要做大量修改配置文件看彼。
我們可以直接在host中做一個映射。一般在C:\Windows\System32\drivers\etc
目錄下昧捷,用記事本闲昭,gvim等可以打開。增加一行是虛擬機的ip地址靡挥。
配置xshell
xshell是windows端功能強大的ssh終端軟件序矩,可以免費使用,下載地址:
http://www.netsarang.com/download/main.html
當(dāng)然你也可以使用(Putty跋破、SecureCRT)根據(jù)自己的需要
輸入主機的ip地址:
然后可以修改一下外觀簸淀,改變一下字體什么的,然后按確定毒返,再在彈出的對話框點【連接】
會讓你輸入用戶名和密碼租幕, 你可以選擇記住密碼
然后就可以連接上了
我們測試一下通過輸入本地主機的ip地址:
發(fā)現(xiàn)也是能連接上的,說明端口被暴露出來了
服務(wù)器后臺運行
是不是每次都要打開電腦拧簸,然后留一個VM程序在任務(wù)欄惹人厭呢劲绪?當(dāng)然不是,我們可以讓它后臺運行盆赤。接下來贾富,我們可以把我們的虛擬機(服務(wù)器)后臺運行了
編輯——首選項,選中關(guān)閉后保持虛擬機運行
光這樣還不夠牺六,還要在服務(wù)
中把VMware Authorization Service
打開颤枪,就可以把虛擬機后臺運行了。
把VMware Authorization Service
打開淑际,就可以把虛擬機后臺運行了畏纲。
在vmware把虛擬機打開時候,關(guān)閉就行了春缕,然后它就跑后臺運行了盗胀,我們就可以隨時通過遠程工具比如(xshell)訪問了
可以發(fā)現(xiàn)服務(wù)器開了在后臺基本不怎么耗費資源,可能也是server版本的原因锄贼,這樣就可以放心的在后臺開啟服務(wù)器了读整。
有人問為什么不直接在虛擬機中運行指令,而非要弄一個xshell遠程登錄,這個嘛米间,主要是裝逼强品,當(dāng)然不是拉,一來屈糊,我xshell軟件可以顯示風(fēng)格的榛,二來和真實工作情況相似,三來xshell提供了很多功能逻锐,加上配合xftp傳輸文件夫晌,非常方便。
配置環(huán)境
我這里主要使用node昧诱,所以安裝了一些node開發(fā)工具(node npm mongodb redis……)
sublime sftp連接到服務(wù)器
在sublime中晓淀,通過sftp插件可以快速的把工程同步到服務(wù)器上,簡直不要太方便
安裝也很簡單:
ctrl + shift + p
install
sftp
使用的時候盏档,對需要同步的目錄或文件凶掰,點擊右鍵【SFTP】,配置一下蜈亩,主要是下面幾個地方要配置一下懦窘,把upload_on_save
打開可以在每次保存的時候,自動同步(根據(jù)需要開關(guān))稚配,然后配置一下host畅涂,用戶名,密碼道川,端口號午衰,還有同步到的目錄(事先創(chuàng)建)
然后我們保存,點擊右鍵——【SFTP】——Upload File
然后我們通過xshell打開服務(wù)器冒萄,可以看到正常同步過來了
然后苇经,只要我們代碼修改保存,這里就會自動同步更新
我們寫了一小程序宦言,在服務(wù)器的8011端口跑
var http = require('http')
http.createServer(function (req,res) {
// body...
res.end('hello');
}).listen(8011);
console.log('listen 8011');
我們在服務(wù)器端運行一下:
然后我們在本地跑一下:輸入http://myserver:8011
(還記得我們之前配置了hosts文件嗎),可以看到程序正常運行了商模。
最后
然后奠旺,你就可以在服務(wù)器上做任何你想做的事情了,而且配置好的環(huán)境施流,你可以壓縮包保存一份响疚,然后上傳到百度云上(我裝完環(huán)境的才2g,壓縮完700m)瞪醋,以后不管在什么地方忿晕,只要裝上虛擬機,所有環(huán)境就有了银受,不要重新配置践盼,方便吧鸦采!
你還可以多配幾個不同的實驗環(huán)境,而不用擔(dān)心污染你的本地電腦咕幻。而且linux的bash在實際工作中效率要比windows好很多渔伯,把它作為真實的實驗環(huán)境是比較合適的。