起因
因為想重拾起linux,同時需要用docker起幾個映象,用來學習網路知識。本來想直接去阿里雲上買,後來一想自己機器上,起一個linux是個不錯的選擇,畢竟不花錢!
還可以用來做本地測試,學習使用linux、docker等。記錄下過程,防止以後忘記!(所以不會涉及具體的安裝步驟)
下載
到網易開源映象站,挑選一個linux下載。我安裝linux只要是為了學習運維方面的知識,同時用於進行網路知識方面的實踐。如果你跟我一樣,推薦Ubuntu server版本,純字元介面,就跟一個伺服器一樣。
安裝時,注意:語言選擇英文,否則會因為沒有安裝中文字型,顯示字元會出現問題。其它的沒有什麼特別的直接一步步的走下來就行了。
ubuntu server語言選成中文,換回英文方法:
修改Ubuntu的配置檔案/etc/default/locale
將原來的配置內容修改為
LANG=”en_US.UTF-8″
LANGUAGE=”en_US:en”
上手
VirtualBox(後面稱作VB)中linux就是一個伺服器,我不想直接在上面進行操作,因為上面什麼都沒有!所以直接採用ssh的方式,也就是使用真實的計算機操作VB中的linux。
首先,設定VB的網路,設定為NAT(我認為就是本地埠轉發,用於與VM的通訊)。如下:
然後,設定埠轉發,在真實機下操作:
方法1:直接輸入:
VBoxManage modifyvm myserver --natpf1 "ssh,tcp,,3022,,22"
,myserver
欄位就是VM(虛擬機器)的名字。例如我的就是‘learn_networking’。方法2:保證VM在執行狀態下,操作步驟如下:
最後,在本機中輸入:ssh -p 3022 user@127.0.0.1
,‘user’欄位就是linux中的使用者名稱。連線成功如下:
最好修改下源(就是apt安裝檔案的時候去哪裡找,否則通過apt安裝軟體會慢),請參考
他能幹嘛?
它可以做一個本地的測試環境。比如,VM安裝的環境和線上伺服器一樣。在開發完一個功能之後,通過git,可以先把新的程式碼部署到剛設定好的本地的VM上,然後在本地測試,如果沒有問題,就可以上線了。
比如:VM起了一個服務,監聽的是8000埠,本機上檢視效果。我們就可以像上面一樣,修改NAT,如果本機想通過127.0.0.1:3008
訪問VM上的服務,那麼我就把NAT改成如下圖所示:
最後,在VM用python的SimpleHTTPServer
和BaseHTTPServer
內建模組,寫個簡單的server指令碼——'test.py',用來演示上面設定的NAT是否成功。程式碼如下:
import SimpleHTTPServer
import BaseHTTPServer
def test():
BaseHTTPServer.test(SimpleHTTPServer.SimpleHTTPRequestHandler,
BaseHTTPServer.HTTPServer)
# 預設監聽:8000埠
test()
同目錄下,寫一個‘index.html’檔案,因為SimpleHTTPRequestHandler
,預設返回同目錄下的index.html
檔案。
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1> 我是削微寒的VM:xueweihan</h1>
<p>用來構建本地的測試環境、學習網路程式設計的知識、練習linux</p>
</body>
</html>
在VM中,執行python test.py
,執行效果如下: