《鳥哥的Linux私房菜——服務器架設篇(第3版)》第一篇服務器搭建前的進修專區(qū),在本篇服務器搭建前的進修專區(qū)當中,我們會介紹簡單的網絡基礎,包含硬件的選擇與布線、在 Linux 中連上 Internet 的方法,以及在 Linux 發(fā)生無法連接Internet的問題時簡易的查驗方法。本節(jié)為網絡服務器成功連接的分析。
1.2 搭建服務器的基本流程
雖然不同的服務器提供的服務并不相同,而且每種服務的原理也不見得都一樣,不過,每種服務器由規(guī)劃、搭建到后續(xù)的安全維護,其實整個流程是大同小異的。下面我們就來一項一項地進行分析。
1.2.1 網絡服務器成功連接的分析
下面我們就針對整個服務器的簡易搭建流程來做一個分析,以明確為什么了解操作系統(tǒng)的基礎對于服務器的維護是相當重要的呢?首先,到底我們是如何連接到服務器的? 連接到服務器要取得什么資源?我們先以如下圖示(見圖1-1)來做個簡單的說明。
先來理解一下,到底我們連接到服務器想要得到什么?舉例來說,你連接到 Youtube 想要看視頻,所以對方就提供視頻數(shù)據流給你;你連接到 Yahoo 想要看新聞,所以對方就提供新聞的文本文件給你;你連接到無名小站想要看圖片,對方將圖片文件發(fā)送給你;你連接到Facebook 想要去偷菜,對方就參考你之前留下來的記錄,從數(shù)據庫里面將你的記錄檢索出來傳送給你?吹經]有,你連接到服務器,重點在取得服務器上的數(shù)據,而一般數(shù)據的存在就是使用文件!那你有沒有權限取得?最終是與該文件系統(tǒng)的設置有關啦!
![](http://images.51cto.com/files/uploadimg/20120725/152317456.jpg)
圖1-1 通過網絡連接至服務器所需經過的各項環(huán)節(jié)
圖1-1顯示的是:首先,客戶端到服務器的網絡要能夠連通,等到客戶端訪問到服務器后,會先由服務器的防火墻判斷該連接能否放行,等到放行之后才能使用到服務器軟件的功能。而該功能又需要通過 SELinux 這個細節(jié)權限配置的項目后,才能夠讀取到文件系統(tǒng)。但能不能讀到具體文件呢?這又跟文件系統(tǒng)的權限(rwx)有關!上述的每個部分都要能夠成功,否則就無法順利讀取數(shù)據。
所以,根據上面的流程我們大概可以將整個連接分為幾個部分,包括:網絡、服務器本身、內部防火墻軟件設置、各項服務配置文件、細節(jié)權限的 SELinux 以及最重要的文件權限。下面就分別來談談每一個部分。
1. 網絡:了解網絡基礎知識與所需服務的通信協(xié)議
既然要搭建服務器,首先當然需要了解一下因特網。因為不管是哪種操作系統(tǒng),若想要與因特網連接,首先要求掌握網絡基礎知識。舉例來說,“子網”是經常會談到的概念,當你發(fā)現(xiàn)一個配置為 192.168.1.0/255.255.255.0 的項目時,知道那是什么鬼東西嗎? 如果不知道的話,呵呵!絕對無法配置好網絡服務的,另外,為何你需要服務器?當然是想要達成某項網絡服務。舉例來說,傳輸文件可以用 FTP,那 WWW 可以傳輸文件嗎?網上鄰居可以傳輸嗎?每個網絡服務的用途為何?哪個在傳輸文件方面比較方便? 對于客戶或老板來說,我們所搭建的服務能否滿足他們的需求等等,這都需要了解,否則你將一頭霧水啊!因此這部分你就需要了解:
基本的網絡基礎知識:包括以太網絡硬件與協(xié)議、TCP/IP、網絡連接所需參數(shù)等。
各網絡服務所對應的通信協(xié)議的工作原理,以及實現(xiàn)各通信協(xié)議的具體應用程序。
2. 服務器本身:了解搭建網絡服務器的目的以配合主機的安裝規(guī)劃
想要搭建服務器嗎?那...搭建什么樣的服務器?這個服務器要不要對 Internet 開放?這個服務要不要對客戶提供訪問賬號?要不要針對不同的訪問賬號進行,例如磁盤容量、可用空間與可用系統(tǒng)資源進行限制?如果要進行各項資源的限制,那服務器操作系統(tǒng)應該要如何安裝與設置?問題很多吧!所以,只有首先了解你所需要搭建服務器的各項預期功能之后,后續(xù)的規(guī)劃才能陸續(xù)出爐。不過,如果配置服務器只是為了“練功”而已,呵呵!那就不需要考慮太多了。
3. 服務器本身:了解操作系統(tǒng)的基本操作
網絡服務軟件是需要運行在操作系統(tǒng)上面的,所以需要對操作系統(tǒng)基本的管理與操作技術有一個掌握!包括軟件如何安裝與刪除,如何管理系統(tǒng)的計劃任務,如何根據服務器的服務目的規(guī)劃文件系統(tǒng),如何讓文件系統(tǒng)具有可擴展性(LVM 之類),系統(tǒng)如何管理各項服務的啟動,系統(tǒng)的開機流程是什么,系統(tǒng)出錯時,該如何進行快速復原等,這些都是需要了解的。
4. 內部防火墻設置:管理系統(tǒng)的可共享資源
一臺主機可以允許多種服務器軟件同時運行其中,而很多 Linux distributions 出廠的默認值就已經開放了很多服務給 Internet 使用了,不過這些服務可能并不是你想要開放的。我們在了解網絡基礎與所需服務的預期目的之后,接下來就是通過防火墻來規(guī)范可以使用本服務器服務的用戶,以讓系統(tǒng)在使用上擁有較佳的可控環(huán)境。此外,不管你的防火墻系統(tǒng)設置的再怎么嚴格,只要是你要開放的服務,那防火墻對于該服務就沒有保護的效果。因此,在線更新軟件機制就一定要定期進行!否則你的系統(tǒng)將會非常的不安全!
5. 服務器軟件設置:學習設置技巧與開機是否自動執(zhí)行
剛剛第一點就提到我們需要知道每種服務所能實現(xiàn)的功能,如此一來才能夠搭建你所需要的服務站點。那你所需要的服務是由哪個軟件實現(xiàn)的?同一個服務可否有不同的實現(xiàn)軟件?每種軟件可以實現(xiàn)的目的是否相同?依據所需要的功能如何設置你的服務器軟件?搭建過程中如果出現(xiàn)錯誤,你該如何觀察與排錯?可否定期地分析服務器相關的登錄信息,以方便了解該服務器的使用情況與錯誤發(fā)生的原因?能否通知多個用戶進行連接測試,以取得較佳的服務器配置值?所以這里你可能就需要知道:
軟件如何安裝;如何查詢相關配置文件所在位置。
服務器軟件如何設置。
服務器軟件如何啟動;如何設置自動開機啟動;如何觀察啟動的端口。
服務器軟件激活失敗如何排錯;如何查看日志;如何通過日志進行除錯。
通過客戶端進行連接測試,如果失敗該如何處理?連接失敗的原因是服務器還是防火墻。
服務器的設置修改是否有相關的日志;相關日志是否要定期分析。
服務器所提供或共享的數(shù)據有無定期備份;如何定期自動備份或遠程備份。
6. 細節(jié)權限設置:包括 SELinux 與文件權限
等到你的服務器全部設置妥當,最后你所提供的文件數(shù)據權限卻是給了“000”的權限值,那鳥哥很肯定地說,大家都無法讀到你所提供的數(shù)據!此外,新的 distributions 都建議你要啟動 SELinux,SELinux是什么呢?如果你的數(shù)據放置于非正規(guī)的目錄,那該如何處理 SELinux 的問題?又如何讓文件具有保密性或共享性(文件權限概念與 ACL 等)等,這也都是需要厘清觀念的。
在上述的服務器搭建流程中,其實除了第 5 點之外,其他步驟在各種服務器的設置過程中都需要了解。而且都是一樣的內容。因此,這些基礎如果學會了,最終,你只要知道第 5 點里面那個軟件的基本設置,你的服務器一下子就可以設置完成了。所以說,基礎學習很重要。