如何系統性學伺服器知識
『壹』 怎麼學習linux
Linux主體分為「運維」與「開發」兩個方向,無論你是Linux相關從業者,還是說愛好都可以歸類到這里,其中「運維」一般是初學者或者轉行人員的首選,而Linux運維主要是對伺服器穩定、性能與安全方面的維護和調試。
實際上Linux入門並不困難,只要具備Linux基礎,讀懂Linux的命令格式,大多數的服務架構都是可以按照文檔部署出來。當然做Linux開發,個人建議去參加培訓學習更有效率,如果報班學習則大概需要4-6個月時間。
學習主要內容有:
1)網路基礎與linux系統的管理
2)優化及高可用技能
3)虛擬化與雲平台技術
4)開發運維
畢業後可從事的工作有:
1)Linux運維工程師
2)資料庫工程師
3)雲計算運維工程師
4)自動化運維工程師
5)雲計算架構工程師等
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
『貳』 如何系統的學習JAVA
玩Java多年的老司機帶你上車全面系統學習Java,並且還能教你如何學習才能在今年拿到一份不錯的offer。
說到系統全面,就是以目前絕大部分公司招聘要求的知識內容為基準,畢竟我們學習Java都是為了高薪工作,《史記》中說」天下熙熙皆為利來,天下攘攘皆為利往「,為了高薪工作而學習Java技術,這都是人之常情,也是大部分人奮斗的目標。
我們先看看市場上招聘Java程序員都需要哪些技術:
二、資料庫篇
資料庫是學習Java語言必學的一項內容,常見的資料庫就是MySQL和Oracle這兩種,作為初學者一般都是學習MySQL為主,一般情況下中小型企業都會選擇MySQL資料庫,比較大型的互聯網公司會選擇用Oracle,而學習Oracle相對於MySQL也要復雜一些,建議是主要學習MySQL資料庫,Oracle作為了解即可。學習資料庫較為簡單,基本的操作就是增刪改查。
三、Web開發
Web前端內容:HTML/CSS/JavaScript/(前端頁面)
注意:Java後端開發可以不用過多關注HTML頁面及CSS的處理,但是最起碼要會用簡單的HTML,JavaScript是必須要會的,因為Javaweb後端程序員畢竟要接觸使用AJAX方式處理數據及顯示。當然如果只關注伺服器端實現而不考慮任何用戶界面,則HTML、CSS、JavaScript都不用關注,但是完全脫離前端的開發現在雖然也不少,但是絕對不關心前端是不可能,尤其是JavaScript,但是前端卻可以完全不關心伺服器後台的任何實現。
推薦學習書籍:《JavaScriptDOM編程藝術》(第二版)
這本書作為被大家推薦的最多的前端入門書籍是有道理的。他能真正讓大家了解dom腳本編程,或是說前端編程技術背後的思路和原則。對於初學者來說,這本書沒有任何門檻,按部就班跟著書籍實例編寫代碼即可。我們會知曉如何對瀏覽器元素操作和掌控,會學會如何實現簡單的頁面效果。這種簡單易得的成就感是一個編程語言入門時最難能可貴的體驗。
JavaEE內容:Servlet/JSP
雖然現在網上在傳JSP很少用了,可能是被一些模板或JSAJAX方式代替了一些,但是我認為還是應該接觸一下,萬一要用到不會怎麼辦,而且它是JavaEE的動態網頁實現標准組件。學習JSP過程也能更好的幫助我們理解web會話的過程,掌握web會話都有哪些我們必需知道的。如果學習Javaweb、JSP都不接觸那就相當於學習使用Springboot而一點不接觸SpringFramework一樣,豈不是稀里糊塗。包括開發Javaweb我們必需知道的概念諸如Web應用上下文,請求對象,響應對象,HttpSession,Cookie等都是在接觸學習JSP和Servelt中體現的,還有一些比較少見的EJBJSFJMS以及JavaFelix等。
一些初學者不清楚這些難免會有誤區,尤其是有些較成熟的工程師也這么說,我只能說他們很無知,只是代碼機器而已,其實對於應用開發設計也就稀里糊塗,人雲亦雲罷了。
永遠沒有被淘汰的技術也沒有永遠流行萬能的技術,要看在什麼環境和場合應用,符合我需求的技術和工具就是好的,就是對的。
四、高級框架
1、Springframework核心IOC容器
2、Springboot在Spring基礎上的更全面提升效率的Spring工具
3、ORM框架當今流行使用較多的是Mybatis和MP(Mybatis插件),Hibernate是可選性學習的
4、模板技術,比較成熟的Freemarker
5、SpringCloud微服務框架,SpringCloud提供的全套的分布式系統解決方案。
五、工具
maven是構建管理項目的工具,svn和git是團隊協作開發的項目源代碼及相關文檔資料管理工具,需要學習者初步掌握其應用。
像Tomcat,jetty,resin,JBoss,GlassFish等都是部署運行Javaweb應用的伺服器。
以上就是初學者大概學習的內容,我是盡量站在初學者的角度來說的,沒有寫得特別復雜,怕初學者看不懂,沒有實質性的幫助。所以我盡量用白話把話說的簡單一些,給大家羅列出主要學習的Java知識點。
知道了Java要學習的大概內容,下面就是怎麼才能用最好的方式把Java學好,從而達到就業的水平,首選我們應該了解一下目前想要達到找到工作的水平,應該是怎樣的。如果大家對於學習Java有任何的問題,關於如何提升學習Java以及學習方法、學習技巧、快速達到就業的技術水平,都可以隨時來問我,這是我建立了5年的Java學習交流裙,前面三個是494,中間三個是801,後面三個是931。 有不懂的問題可以隨時在裡面問,需要Java各個階段的學習資料也可以在裡面進行下載。
Java學到什麼程度才能達到就業的水平:對於大多數初學Java的同學而言,最關心的莫過於我學要學習哪些和學到什麼程度才能找到相關的Java研發工作崗位。
不同的軟體公司對研發人員的水平要求存在一定的差異,如果從大多數中小型企業來看能接受一個入職到本企業的IT技術人員通常需要具備以下能力。
1理解掌握Java核心面向對象的設計思想和代碼構建,能以面向對象方式設計編寫業務功能;
2熟練掌握至少兩種資料庫的開發,如Oracle,mySql,能熟練編寫基本常用及高級的SQL語句;
3必需掌握並熟練應用SpringframeworkIOC容器,深入了解IOC及AOP概念並應用,使用MVC實現對web請求做出處理;
4熟練掌握Java處理資料庫的ORM框架myBatis,JDBCTemplate,對Hibernate也應有所了解;
5熟練應用Spring增強工具集合Springboot;
6至少熟練使用Eclipse及IDEA集成開發工具構建應用程序;
7能夠基本掌握MVNGITMaven在項目中的使用;
8前端開發必需掌握JavaScript和常用的JS框架
以上這些都是中小型軟體企業的入職基本要求,如果你能夠達到這個水平,找到一份Java工作應該是不難的。
推薦的學習方式:系統視頻教程+書籍輔助+有人指導
視頻教程:對於Java初學者來說,看視頻學習也是最普通的方式,視頻教程會把工作中常用的知識進行講解,而且視頻一般都是分章分節,每一個小節都只講一個知識點,學習起來較為明確。但是視頻教程盡量要完整,最好是一整套視頻學習。
書籍輔助:書籍便於對理論知識的補充,以便更容易理解Java面向對象核心設計理念和代碼實踐功能。
PS:但是大部分人都沒有耐心看不下去書,所以大部分人都是只看視頻教程學習。如果自己能看的下去就看,看不下去就不看。
有人指導:大部分人都不可能全靠自己的能力把Java學的特別好,因為你不了解這個行業,也不知道怎麼學,完全零基礎自學Java想要找到工作,概率極低。所以建議如果真的想要做這行,盡量找人去帶帶你,有不懂的問題可以直接請教,少走彎路,提高效率。學習的質量決定以後工作的薪資以及起點,所以還是應該重視起來。
項目的重要性
很多Java初學者看完一些視頻,學過一段時間就說自己「會了」。這里我需要給大家糾正一個問題,希望每個學習Java的知友都能明確學習編程的中心是什麼。其實在我看來,學習編程從來都不存在會不會這樣的說法。學習編程不同於初中學的數學、物理、化學,記住一些公式,做同樣一種類型的習題,就證明類似的題型你會做了。編程只講技術能力是什麼水平、什麼級別的,最能證明技術水平處在什麼階段的,就是在做項目的過程中,研發好的互聯網產品,寫代碼的質量怎麼樣,排錯能力怎麼樣,找BUG的能力怎麼樣,構思功能模塊整體布局的能力怎麼樣等等。做作為初學者想要達到入門的水平,就是自己具備了一些簡單項目的編碼能力,初學者最重要的一點就是培養自己的編程思維,每一個程序都是不一樣的,你不可能都背下來,學編程也不是靠死記硬背的,你只有能去獨立編碼寫一些東西的時候,才有就業的機會。
所以做項目的能力才能去衡量一個學習的水平處在什麼階段,而往往那些嘴上說「會了」的人,往往沒寫過多少代碼,也一個項目做不了出來,這就是紙上談兵,完全曲解了學習編程到底在學什麼,也不知道應該往哪裡去。
所以一個Java初學者在學習的整體過程中,必須要有兩個能拿得出手,能寫在簡歷上的項目作為找工作的資本,並且要對於這兩個項目的前前後後相當了解,才可能最後面試成功,一個初學者在學習完Java所有內容後,如若還達不到可以做簡單項目的水平,那麼他整個學習過程還是白費,沒有達到最終的學習目的,就是學習質量不過關。所以項目的重要性希望大家都明確,因為有太多Java初學者不知道最後學習的目的是什麼,最後白白的浪費時間。
學習心態:
學習編程一定不是一個簡單的事情,換句話說它還是挺困難的,畢竟能出去找到工作,就是少則五六千,多則上萬的工種。這些知識都不是隨隨便便就是任何一個人都能學會的。關於這個學習心態,希望提示大家要把重心放到「學習」這件事上,因為我發現有很多Java初學者都是像「完成任務」一樣去學習,所謂完成任務就是「我把這些視頻看完就能找到工作嗎」「我把這些都學完就能找到工作嗎」學完並不等於「學會」,這是兩種不同的概念。
你到底理沒理解?
你到底能不能應用起來?
你到底用沒用心?
你自己應該是最清楚的,我發現那些把學習當做完成任務一樣去對待的,這樣的人沒有一個是有耐心的,自己在心裡欺騙自己「把這些視頻看完我就能找到工作」,到了最後自己就逐漸明白,完全是自欺欺人,最後放棄說自己不適合學這個。其實揭開這些人的面具真相就一個:他們沒有耐心學習,也不喜歡學習,這是以前經歷造成的,是多年的習慣導致的。
所以正確的學習心態一定是把關注點放到學習這件事本身,你要學會這些知識,這些內容,這些技術,這是需要一天一天逐漸積累起來的,並不是短時間就可以達到什麼結果。
PS:如果你對於學習沒什麼耐心,沒什麼興趣,我勸你不要來學習編程,學習編程絕對是一個耐心的活,也是需要不斷學習和充電的行業。或者說已經到了信息時代,不愛學習的人,很難有耐心去學習知識的人,在信息時代是混不下去的,任何行業都是如此,不學習不進步不緊貼時代的人就一定會被淘汰。
最終自學Java能就業的人基本具備以下幾點:
1、有超強的學習耐心及進取心
2、手不懶,代碼寫的足夠多,熟能生巧
3、有一定的學習能力,善於自學善於自己解決問題
4、可以獨立寫一些簡單的項目
以上內容均由本人手寫而成,完全站在Java初學者的角度來說,就是希望能用通俗易懂的語言讓大家清晰的明白學習Java全面系統的學習內容,以及應該達到什麼程度才能拿到一份Java工作的offer,希望可以給大家帶來幫助。
『叄』 如何學習伺服器入門知識,本人做伺服器整機和主板的
伺服器主板和普通電腦主板有什麼區別
經常玩電腦的,對電腦有一定了解的人都知道,對於一台電腦,最重要的無非就是處理器、主板和顯卡,這三個配件都是種類繁多。我們用來玩游戲的主機和游戲伺服器的主機有著很大區別,同樣,作為必不可少的配件之一,主板,同樣有著區別,由於主機和伺服器的側重點不同,兩者的主板也有不同側重,正確區分伺服器主板和普通PC機主板,拒絕做「小白」!
普通的家用和辦公電腦的主板,主要需求是在性能和功能上;而伺服器主板則是專門為了滿足伺服器應用——高穩定性、高性能、高兼容性的環境,而開發的主機板。由於伺服器的高運作時間,高運作強度,以及巨大的數據轉換量,電源功耗量,I/O吞吐量,因此對伺服器主板的要求是相當嚴格的。
伺服器主板和普通電腦主板的區別,主要由以下幾點:
1、伺服器主板一般都是至少支持兩個處理器——晶元組不同(往往是雙路以上的伺服器,單路伺服器有時候就是使用台式機主板)。
2、伺服器幾乎任何部件都支持ECC,內存、處理器、晶元組(但高階台式機也開始支持ECC)
3、伺服器很多地方都存在冗餘,高檔伺服器上面甚至連CPU、內存都有冗餘,中檔伺服器上,
硬碟、電源的冗餘是非常常見的,但低檔伺服器往往就是台式機的改裝品,不過也選用一線大廠電源。
4、由於伺服器的網路負載比較大,因此伺服器的網卡一般都是使用TCP/IP卸載引擎的網卡,
效率高,速度快,CPU佔用小,但目前高檔台式機也開始使用高檔網卡甚至雙網卡。
5、硬碟方面,已經很多而且越來越多的伺服器將用SAS /SCSI 代替SATA。
6、 在內存支持方面。由於伺服器要適應長時間,大流量的高速數據處理任務,因此其能支持高達十幾GB甚至幾十GB的內存容量,而且大多支持ECC內存以提高可靠性(ECC內存是一種具有自動糾錯功能的內存,由於其優越的性能使造價也相當高)。
7、 存儲設備介面方面。中高端伺服器主板多採用SCSI介面、SATA介面而非IDE介面,並且支持RAID方式以提高數據處理能力和數據安全性。
8、 在顯示設備方面。伺服器與工作站有很大不同,伺服器對顯示設備要求不高,一般多採用整合顯卡的晶元組,例如在許多伺服器晶元組中都整合有ATI的RAGE XL顯示晶元,要求稍高點的就採用普通的AGP顯卡。而如果是圖形工作站,那一般都是選用高端的3DLabs、ATI等顯卡公司的專業顯卡。
9、 在網路介面方面。伺服器/工作站主板也與台式機主板不同,伺服器主板大多配備雙網卡,甚至是雙千兆網卡以滿足區域網與Internet的不同需求。
10、最後是伺服器的價格方面。一般台式機主板頂天也不過1、2千,而伺服器主板的價格則從1千多元的入門級產品到幾萬元甚至十幾萬元的高檔產品都有!
以上,就是伺服器主板和普通PC機主板的區別,由於伺服器需要更大得數據吞吐量,需要更強的數據處理能力,伺服器主板比普通主板的功能更為強大。由於PC機的普及,更多的廠商也開始生產研發高端電腦主板,並且應用在普通主機上,相信在不遠的將來普通主板具有伺服器主板的性能,也想成為可能。
------------------------------------------------------------------------
伺服器基礎知識【初學者必看】
標簽: 伺服器ftp伺服器磁碟windowsinternet網路
2011-07-29 09:36 4747人閱讀 評論(0) 收藏 舉報
分類:
伺服器(15) 網路文摘(70)
1. 什麼是伺服器
就像他的名字一樣,伺服器在網路上為不同用戶提供不同內容的信息、資料和文件。可以說伺服器就是Internet網路上的資源倉庫,正是因為有著種類繁多數量龐大內容豐富的伺服器的存在,才使得Internet如此的絢麗多彩。
2. 伺服器的種類和功能
(1) WWW伺服器(WWW Server)
WWW伺服器也稱為Web伺服器(Web Server)或HTTP伺服器(HTTP Server),它是Internet上最常見也是使用最頻繁的伺服器之一,WWW伺服器能夠為用戶提供網頁瀏覽、論壇訪問等等服務。比如:我們在使用瀏覽器訪問
http://www.discuz.NET的時候,實際上就是在訪問Discuz!的WWW伺服器,從該WWW伺服器獲取需要的論壇資料和網頁。
(2) FTP伺服器(FTP Server)
FTP伺服器是專門為用戶提供各種文件(File)的伺服器,FTP伺服器上往往存儲大量的文件,例如:軟體、MP3、電影、程序等等。用戶只要使用FTP客戶端軟體登錄到FTP伺服器上就可以從FTP伺服器下載所需文件和資源到自己的電腦上,同時,
你也可以把自己電話上的文件上傳到FTP上供其他用戶下載,以實現文件資源的共享。
(3) 郵件伺服器(Mail Server)
e-mail是Internet上應用最頻繁的服務之一,而Internet上每天數億百億計的電子郵件的收發都是通過郵件伺服器實現的。郵件伺服器就像郵局一樣,可以為用戶提供電子郵件的接收存儲和發送服務。
除了以上介紹的3種主要伺服器之外,還有很多其他類型的網路伺服器,例如:資料庫伺服器(DatabaseServer)、代理伺服器(Proxy Server)、域名伺服器(Domain Name Server)等等……
3. 伺服器的操作系統
目前伺服器中使用的操作系統主要有兩類:Windows和Unix。
(1) Windows
Windows是美國微軟公司(Microsoft)開發的操作系統,在伺服器領域,主要有Windows2000Server/Advanced Server/Data Center與Windows2003 Standard Edition/EnterpriseEdition操作系統,Windows的優點是操作簡
單,由於Windows使用圖形界面進行操作,因而對各種伺服器軟體功能配置簡便。但它的缺點也不可忽視,例如:Windows操
作系統成本較高;安全性相對較低;能承受的訪問量較低等等。
(2) Unix
Unix的歷史很久遠,其種類和分支錯綜復雜。就目前來說應用最廣泛的Unix系統是Linux,Linux並非由哪家公司發行,Linux由世界各個角落的熱愛程序與網路人共同開發、維護。Linux完全免費,與Windows相比,Linux的成本為0。
Linux除了成本上的優點之外,還具備很多非常優秀的特點,例如:性能極高、穩定性很好、安全等等。目前,大多數大中型
企業(包括電信企業和Google、網路、新浪、搜狐等等)的伺服器都運行在Unix/Linux系統之上。
4. Apache與IIS
Apache與IIS都屬於WWW伺服器,是世界上使用最多的兩種WWW伺服器。
(1) IIS
IIS的全稱是:InternetInformation Server,由微軟(Microsoft)公司開發,是Windows操作系統的一部分。IIS是允許在Internet上發布信息的Web伺服器。IIS通過使用超文本傳輸協議(HTTP)傳輸信息。還可配置IIS 以提供文件傳輸
協議(FTP)服務。FTP服務允許用戶從Web節點或到Web節點傳送文件。
IIS的特點是配置簡單,配置界面很友,功能較強,同時提供對ASP/ASP.Net的支持。但IIS的性能和安全性相對較差,並且IIS只能在Windows中使用,無法在UNIX中運行。
(2) Apache
Apache是世界排名第一的WWW伺服器, 根據Netcraft(www.netcraft.com)所作的調查,世界上百分之六十以上的Web伺服器在使用Apache。
Apache 的特性:
1) 幾乎可以運行在所有的計算機平台上(包括Windows)
2) 強大的功能配置;
3) 支持通用網關介面(CGI);
4) 支持虛擬主機;
5) 支持HTTP認證;
6) 內部集成了代理伺服器;
7) 具有用戶會話過程的跟蹤能力;
8) 支持FASTCGI;
9) 支持Java SERVLETS;
什麼是伺服器?
伺服器是網路上一種為客戶站點提供各種服務的計算機,它在網路
操作系統的控制下,將與其相連的硬碟、磁帶、列印機、Modem及昂貴的專用通訊設備提供給網路上的客戶站點共享,也能為網路用戶提供集中計算、資料庫管理等服務。
● 網路伺服器的作用:
A. 運行網路操作系統。通過網路操作系統控制和協調網路各工作站的運行,處理和響應各工作站同時發來的各種網路操作請求。
B. 存儲和管理網路中的軟硬體共享資源,如資料庫、文件、應用程序、列印機等資源。
C. 網路管理員在網路伺服器上對各工作站的活動進行監視控制及調整。
從結構來說,目前伺服器正從RISC伺服器向IA伺服器發展,在中小型網路中尤其如此。
● 熱插拔技術
○ Hot Swap,又稱為熱交換技術、熱插拔技術。允許伺服器在不關機狀態下更換故障硬碟等熱插拔設備。
○ 熱切換技術與RAID技術配合起來,可以使伺服器在不關機狀態下更換故障硬碟,並且自動恢復原盤上的數據,極大地提高了伺服器系統的容錯能力。
○ 硬碟熱插拔有兩種方式:
A. 採用熱插拔硬碟盒配以普通SCSI硬碟,多用於磁碟陣列中。
B. 採用具有熱插拔能力的專用硬碟,是高性能伺服器的標准配置。
○ 熱插拔技術今後將向熱插拔電源、熱插拔PCI插卡等方向發展。
● 硬碟介面技術
IDE: (Intergraded drive electronics) 現在PC機使用的主流硬碟介面。
SCSI:(Small Computer System Interface) 小型計算機系統介面。SCSI技術源於小型機,目前已移植到PC伺服器及高檔PC機上。相對於IDE介面,SCSI介面具備如下的性能優勢:
a. 獨立於硬體設備的智能化介面:減輕了CPU的負擔。
b. 多個I/O並行操作:因此SCSI設備傳輸速度快。
c. 可聯接的外設數量多:可擴展多個外設(如硬碟、磁帶機等)。
當同時訪問到伺服器的網路用戶數量較多時,使用SCSI硬碟的系統I/O性能明顯強於使用IDE硬碟的系統。
SCSI匯流排支持數據的快速傳輸。不同的SCSI設備通常有8位或16位的SCSI傳輸匯流排。在多任務操作系統,如Windows NT下,在同一時刻可以啟動多個SCSI設備。SCSI適配器通常使用主機的DMA(直接內存存取)通道把數據傳送到內存。這意味著不需要主機CPU的幫助,SCSI適配器就可以把數據傳送到內存。為了管理數據流,每一個SCSI設備(包括適配卡)都有一個身份號碼。通常,把SCSI適配器的身份號碼設置為7,其餘設備的身份號碼編號為0到6。
大部分基於PC的SCSI匯流排使用單端接的收發器發送和接受信號。但是,隨著傳送速率的增大和線纜的加長,信號會失真。為了最大限度的增加匯流排長度並保證信號不失真,可以把差分收發器加到SCSI設備中。差分收發器使用兩條線來傳送信號。第二條線為信號脈沖的反拷貝。一旦信號到達目的地,電路比較兩條線的脈沖,並生成原始信號的正確拷貝。
一種新的差分收發器 - LVD(低壓差分收發器),能夠增加匯流排長度並且能夠提供更高的可靠性和傳輸速率。LVD能連接15個設備,最大匯流排長度可達12米。
目前常用的SCSI系列:
Narrow Wide
Wide
介面
傳輸速率
介面
傳輸速率
Fast Fast SCSI
10 MB/S
Fast Wide SCSI
20MB/S
Ultra Ultra SCSI
20MB/S
Ultra Wide SCSI
40MB/S
Ultra2 Ultra2 SCSI
40MB/S
Ultra2 Wide SCSI
80MB/S
/
Ultra 3
160MB/S
SCSI與IDE的區別
○ IDE的工作方式需要CPU的全程參與;這種情況在Windows95/NT的多任務操作系統中,自然就會導致系統反應的大大減慢。而SCSI介面,則完全通過獨立的高速的SCSI卡來控制數據的讀寫操作,CPU就不必浪費時間進行等待,顯然可以提高系統的整體性能。
○ SCSI的擴充性比IDE大,一般每個IDE系統可有2個IDE通道,總共連4個IDE設備,而SCSI介面可連接7~15個設備,比IDE要多很多,而且連接的電纜也遠長於IDE。
雖然SCSI設備價格高些,但與IDE相比,SCSI的性能更穩定、耐用,可靠性也更好
● RAID技術
○ RAID:(Rendant Array of Inexpensive Disk)廉價冗餘磁碟陣列。由於磁碟存取速度跟不上CPU處理速度的發展,從而成為提高伺服器I/O能力的一個瓶頸。RAID技術利用磁碟分段、磁碟鏡像、數據冗餘技術來提高磁碟存取速度,同時提供磁碟數據備份、提高了系統可靠性。
○ 磁碟分段(Disk Striping):數據以"段"為單位依次讀寫多個磁碟,多磁碟相當於同時操作,存取速度極大地提高。
○ 磁碟鏡像(Disk Mirroring):用一個控制器控制兩個磁碟,同時讀寫相同的數據,數據100%備份。
○ 數據冗餘技術:數據讀寫時做校驗,校驗數據以緊湊格式存於磁碟上,可用於糾錯及恢復數據。
○ RAID技術目前常用的有幾個系列:
RAID 級別
描述
技術
速度
容錯能力
RAID 0
磁碟分段
沒有校驗數據
磁碟並行I/O,存取速度提高最大
數據無備份
RAID 1
磁碟鏡像
沒有校驗數據
讀數據速度有提高
數據100%備份(浪費)
RAID 2
磁碟分段+漢明碼數據糾錯
/
沒有提高
允許單個磁碟錯
RAID 3
磁碟分段+奇偶校驗
專用校驗數據盤
磁碟並行I/O,速度提高較大
允許單個磁碟錯,校驗盤除外
RAID 4
磁碟分段+奇偶校驗
非同步專用校驗數據盤
磁碟並行I/O,速度提高較大
允許單個磁碟錯,校驗盤除外
RAID 5
磁碟分段+奇偶校驗
校驗數據分布存放於多盤
磁碟並行I/O,速度提高較大,比RAID 0稍慢
允許單個磁碟錯,無論哪個盤
磁碟系統作好RAID 5後,任一塊磁碟出現故障後,系統仍可運行,故障盤上的數據可通過其它盤上的校驗數據計算出來(此時速度要慢一些)。如果磁碟系統中有備份盤,則數據自動恢復到備份盤中。如果具備熱插拔硬碟,則在開機狀態下即可換下故障硬碟,數據將自動恢復到新硬碟上。在這些過程中,系統並沒有停止運行。
● SMP技術簡介
○ SMP:Symmetric Multiprocessing . 即對稱多處理。指在一個計算機上匯集了一組處理器(多個CPU)。多處理是指一台計算機中的多個處理器通過共享同一存儲區來協調工作。真正意義上的多處理要求系統中的每個CPU能訪問同一物理內存。這意味著多CPU必須能使用同一系統匯流排或系統交換方式。
操作系統對多處理體系結構的支持是與其核心緊密相連的,這將涉及兩個用於支持多處理的基本序列演算法:對稱和非對稱處理。非對稱處理中,CPU各有各的任務;對稱處理中,每個CPU可執行任何任務。SMP系統通過將處理負載分布到各個空閑的CPU上來增強性能。處理分布或執行線程中,各CPU的功能是相同的。它們共享內存及匯流排結構,系統將處理任務隊列對稱地分布於多個CPU上,從而極大地提高了系統的數據處理能力。
○ 對稱多處理首先在網管方面表現出高性能,這應歸因於SMP系統強大的處理能力和SMP操作系統的興起。支持SMP的網路操作系統:Novel Netware、SCO UNIX、Microsoft Windows NT等。
○ SMP技術特別適合於需要集中使用處理器的服務,如應用伺服器、通信伺服器。很多應用程序升級到SMP平台後並不需要重寫。
○ SMP技術是今後PC伺服器的發展方向。
● 機箱技術
○ 立式機箱
○ 基座式
○ 機架安裝式
● 內存技術
內存的家族也很龐大,有許多不同的類別。按照存儲信息的功能,內存可分為RAM(Random Access Memory,隨機存取存儲器)和ROM(Read Only Memory,只讀存儲器)。ROM是非易失性的元件,可靠性很高,存儲在ROM里的數據可以永久的保存,而不受電源關閉的影響,所以,ROM一般用來存儲不需修改或經常修改的系統程序,像主板上的BIOS程序。根據信息的可修改性難易,ROM也可分為MASK ROM,PROM,Flash Memory等,其中,MASK ROM,PROM屬於早期的產品,ROM這一族經過一連串的演化,從使用只能寫一次的PROM,利用紫外線清除的EPROM,利用電氣方式清除的EEPROM,一直到現在主板上經常使用的一般電壓就可清除的Flash Memory。現在計算機的發展速度相當快,主板廠商也需經常升級BIOS,所以用Flash Memory存儲BIOS程序就成為首選,RAM既是我們通常所說的內存,也是我們需關注的主要方面,現做一下介紹。
○ RAM的分類
RAM主要用來存放各種現場的輸入、輸出數據,中間計算結果,以及與外部存儲器交換信息和作堆棧用。它的存儲單元根據具體需要可以讀出,也可以寫入或改寫。由於RAM由電子器件組成,所以只能用於暫時存放程序和數據,一旦關閉電源或發生斷電,其中的數據就會丟失,故屬於易失性元件。現在的RAM多為MOS型半導體電路,它分為動態和靜態兩種。動態RAM(DRAM)是靠MOS電路中的柵極電容來記憶信息的。由於電容上的電荷會泄漏,需要定時給與補充,所以動態RAM需要設置刷新電路(Refresh),如此一來,需要花費額外的時間;而靜態RAM(SRAM)是靠雙穩態觸發器來記憶信息的,不須重復的做刷新的動作即可保存數據,所以存取速度要比DRAM快上許多。但動態RAM比靜態RAM集成度高、功耗低,從而成本也低,適於作大容量存儲器。所以高速緩沖存儲器(Cache)使用SRAM,而主內存通常採用DRAM。我們平常所接觸的內存條就是由DRAM晶元構成的。
○ DRAM的種類
FPM DRAM(Fast Page Mode DRAM),即快速頁面模式的DRAM。
EDO DRAM(Extended Data Out DRAM),即擴展數據輸出DRAM。速度比FPM DRAM快15%~30%。它和FPM DRAM的構架和運作方式相同,只是縮短了兩個數據傳送周期之間等待的時間,使在本周期的數據還未完成時即可進行下一周期的傳送,以加快CPU數據的處理。
BEDO DRAM(Burst EDO DRAM),即突發式EDO DRAM。是一種改良式EDO DRAM。
SDRAM(Synchronous DRAM)即同步DRAM。目前十分流行的一種內存。工作電壓一般為3.3V,其介面多為168線的DIMM類型。它最大的特色就是可以與CPU的外部工作時鍾同步,和我們的CPU、主板使用相同的工作時鍾,如果CPU的外部工作時鍾是100MHZ,則送至內存上的頻率也是100MHZ。
○ REGISTERED 內存
○ ECC內存
錯誤檢查與校正內存(ECC)提供了一個強有力的數據糾正系統。ECC內存不僅能檢測一位錯,而且它能定位錯誤和在傳輸到CPU 之前糾正錯誤,將正確的數據傳輸給CPU。允許系統進行不間斷的正常的工作,ECC內存能檢測到多位錯(而奇偶校驗內存就不能達到這一點)並能在檢測到多位錯時產生報警信息,但它不能同時更正多位錯。
ECC的工作過程是這樣的:當數據寫到內存中時,ECC將數據的一個附加位加識別碼,當數據被回寫時,存儲的代碼和原始的代碼相比較,如果代碼不一致,數據就被標記為"壞碼",然後壞碼會被糾正,並傳輸到CPU中,如果檢測到多位錯時,系統就會發出報警信息。
● 常見操作系統
○ MicrosoftWindows NT Server 4.0 中/英文
○ MicrosoftWindows 2000/2003 中/英文
○ SCO OpenServer5.0.5
○ SCO UnixWare7.1.1
○ Red Hat 6.2/7.0
○ TurboLinuxServer 6.1
○ SUN Solaris 7/8中/英文
○ Windows NT / Windows 2K/2003
· 與windows客戶機集成較好
· 提供一定的文檔和應用伺服器兼容能力
· 簡化安裝和管理工作,操作系統易於使用,用戶界面好
· 提供更多的開發工具,第三方廠商應用支持較多
· 目前在中小用戶中的增長勢頭較快
· 大型環境中目錄不易管理
· 與其他操作系統相比,可靠性較差
· 改變配置後,系統需重新啟動
○ SCO UNIX
· 在高性能的RISC機器中擴展性較好
· 可輕松改變網路配置
· 安全性、可靠性高
· 提供內置的多用戶能力
· 最早,最廣泛地支持Internet標准
· 該平台上的應用極為豐富
· 在國內金融等重要行業中用戶較多
· 用戶界面較差,維護、管理、使用復雜
· 沒有可靠的開發工具
○ NetWare
· 單CPU的文件伺服器性能優異
· 高性能的目錄服務可輕松管理大型環境
· 在國內早期中小用戶中使用較多
· 關鍵服務與SMP無關
· 缺乏第三方廠商支持
· 沒有可靠的開發工具
○ LINUX
· 免費的多任務多用戶的操作系統
· 性能穩定,佔用空間小
· 可運行在Intel、SPARC、Alpha平台
· 沒有專門的技術支持部門
· 對一些設備的驅動能力還不是很完善
○ Solaris
· 安裝方式多樣,自動化程度高
· 處理數據的能力很高
· 可與各種平台實現互操作
· 軟體價格昂貴
· 對基於Intel的伺服器技術支持較弱
『肆』 在哪裡可以系統的學習伺服器的搭建
伺服器搭建:iis(微軟的,不錯,會用滑鼠,認識中文的,都可以很快上手),apache(本文可能不會提到,但是它是比較專業的伺服器搭建軟體,有興趣可以和我交流交流)
相信你不只是想提供web服務吧,咱們也要搞搞ftp吧,呵呵
ftp伺服器需要的軟體:其實iis就自帶一個ftp服務,但是我不推薦,主要是管理不太方便(個人觀點)。我在這里給大家推薦serv-u,簡單,實用,地球人都喜歡,呵呵(你個小兔崽子,少廢話)
好了,軟體呢就需要這些,如果你想搞點論壇啊,江湖游戲什麼的,那就到網路上去搜索你想要的源代碼吧,我覺得,論壇的話,雷傲的不錯,當然也有支持asp的動網的,其實最近流行的是php,如果你喜歡什麼,那就去down什麼,這些都是非常非常簡單的,相信自己,無師自通,J。
暈,差點忘了重要的東西,如果要搭建cgi或者php的論壇,還需要一些插件:
支持cgi的插件:需要perl編譯器:activeperl,個大網站都有下載。
支持php的插件:需要php for win的插件,版本更新比較快,下載最新版本比較好。
Ok,要用的軟體都說差不多了,如果還有需要的,我會在後面說明的。
喝口水,現在是萬事具備,只欠東風了,開工ing:
首先,寬頻得ip應該是動態得,所以我們就需要一個域名服務,來指向自己得機器,要不然,別人不能進入,這里推薦花生殼域名服務(http://www.oray.net/Default.asp),申請不是特別得繁瑣,認識中文就會申請。申請好以後,你需要下載一個客戶端,如果你不安裝這個東東,還是不能夠實現域名的指向,就在該網站有下載(注意下載最新得版本,下載老版本干什麼啊,浪費資源,如果你有戀舊情懷,下載舊版本我也沒辦法)。當然,如果你有固定的ip,那就congratulate你了啊,不用動態域名了,我真的好想有一個固定的ip,但是沒錢,窮人就是命苦啊L
接下來,安裝iis,我們是菜鳥,當然用最菜的東東,iis所見所得,簡單實用(不是給微軟打廣告,真得是這樣,它比起apache簡單多了)。如果你的是win2000伺服器版,那iis應該是有安裝得,如果是專業版,那就需要添加,添加刪除軟體裡面可以找到,這里就不多說了。安裝iis後,需要進行一些簡單的設置,無非就是用滑鼠對著那些中文按鈕點點,簡單的很,後面會提到如何配置cgi和php的,這里就不說了。
ftp伺服器的serv-u的安裝:和其它軟體一樣,下一步,下一步,finish,呵呵,不會被揍吧。安裝完成以後,就會自動運行,需要填寫一些東西,建議你在中文之家去下載漢化破解版的serv-u,這樣對我等不識洋文的來說,是佳音啊。填寫的時候只需要注意以下幾個事項:
1, 如果你是動態的ip,那就在填寫ip那一欄裡面不要填寫,如果是固定的,那就填吧,接下來是填寫域名,就填寫你申請的花生殼的免費域名。後面的,都是一見就明白的,不需要我再在這里羅嗦了。
2, 如果你不希望ftp服務隨著系統的啟動而啟動,那就不要選擇隨系統啟動那一欄,如果你不希望匿名登陸,就會自動提示你新建一個用戶名和密碼,反正你按著提示來,就不會出錯的。
3, 關於serv-u的教程網路上非常多的,你去找找,那些高手說的絕對比我說的好,建議去下載幾本看看,我就是從那些高手的文章中學習的。
4, 如果想讓自己的ftp站點更專業,可以參看serv-u的幫助文件,有message的一些常用變數,那裡說的很詳細的。
Ok,伺服器的搭建說的也就差不多了,如果有不對的地方,歡迎大家指出,下面就開始說說,如何使自己的伺服器功能越來越強大。
論壇的安裝:
如果你是使用asp代碼的論壇,那你的iis伺服器不用做任何說明,就可以支持的,當然,如果你用的是apache伺服器,那就需要其它的設置,由於本文主要是基於iis的伺服器,所以就不說了,網路上關於apache支持asp的教程也非常的多(其實我也不是特別的熟悉apache,不要k我啊,如果k我,我就不說了,嘿嘿)。
如果你是使用cgi的論壇,那就需要安裝actibeperl,在安裝的時候,只需要注意,將他安裝在c:\usr目錄下,其實我也不知道為什麼要安裝到這里,反正你安裝到這里會避免很多的問題,如果你安裝到其它的目錄,可能會出現一些比較怪的問題。
安裝過程,省略,因為所有的軟體安裝方法都是大同小異,下面,我來說說如何在iis裡面配置cgi:
打開iis管理器,打開網站屬性,進入 主目錄選項,點擊,配置,然後進入一個新的對話框,點擊添加,添加如下:
可執行文件:c:\usr\bin\perl.exe %s %s (其實就是perl文件的地址,後面加兩個%s,中間有空格的啊)
擴展名:.cgi
還要添加一次:
可執行文件:c:\usr\bin\perl.exe %s %s
擴展名:.pl
然後,添加一個虛擬目錄,注意以下的:
第一, 路徑在你的cgi目錄下,
第二, 如果是雷傲的,建議虛擬目錄命名為cgi-bin,至於為什麼,那是因為我習慣了,呵呵,不會被k吧
完了,配置cgi的就著么簡單,如果大俠們覺得哪裡有錯誤,請指出,呵呵!
如果你要搞些php的東西,那就要安裝php for win。建議使用解壓方式,不要用那個安裝的,不好,為什麼呢?怎麼這么多為什麼啊,那是別人高手說的,我怎麼知道為什麼啊。
廢話少說,開工ing:
開工前,還有點廢話:
PHP安裝的兩種不同模式,一種是Cgi模式(CGI executable),另一種是模塊化安裝方式。可以這樣來區別:在CGI模式下,如果客戶機請求一個php文件,Web伺服器就調用php.exe去解釋這個文件,然後再把解釋的結果以網頁的形式返回給客戶機;而在模塊化中,PHP是與Web伺服器一起啟動並運行的,所以從理論上說來說,以apache模塊方式安裝的PHP4有著比CGI模式更好的安全性以及更好的執行效率和速度,其實選擇什麼安裝方式,完全在於你,而不是我在這里廢話。
解壓縮php到你想要的目錄,我習慣上解壓縮到c:\php
打開剛才解壓的PHP目錄,你會發現有一個叫做php.ini-dist的文件,這就是PHP的配置文件了,你需要把它改名成php.ini,然後復制到系統目錄中(如果你的系統裝在C盤,XP下就是C:\windows,Windows2000下是C:\winnt)。
我以前看過很多介紹PHP安裝文件的文章都說要修改php.ini中extension_dir和doc_root這兩項的值,可是小的在安裝PHP過程中都沒有改過,也沒有過任何錯誤,看來這兩個參數不是必須的。當然如果你不放心也可以修改一下。把doc_root改成你的伺服器的根目錄,把extension_dir改成你的PHP安裝文件夾中的extensions文件夾所在的絕對路徑。其實不改,也不會出錯,那就看你怎麼搞了,呵呵。
3.打開你的IIS信息服務控制台,右擊默認網站圖標,選擇屬性,打開默認網站屬性選擇,然後再選擇主目錄選項卡,做以下配置:
點擊配置按鈕,你會看到又跳出一個選項卡,上面是已經定義的文檔類型。點擊添加按鈕,添加下面這些:
可執行文件:c:\php\php.exe %s %s (你的php所在的目錄)
擴展名:.php
ok,好了。現在試著把下面的幾段代碼保存成後綴為php文件,然後放到你的一個虛擬目錄中去訪問,看一下是否能出現正常的結果。
<?php
phpinfo();
?>
也許你會碰到下面的輸出結果:
Security Alert! The PHP CGI cannot be accessed directly.
This PHP CGI binary was compiled with force-cgi-redirect enabled. This means that a page will only be served up if the REDIRECT_STATUS CGI variable is set, e.g. via an Apache Action directive.
For more information as to why this behaviour exists, see the manual page for CGI security.
For more information about changing this behaviour or re-enabling this webserver, consult the installation file that came with this distribution, or visit the manual page.
不用怕,這是因為現在PHP在IIS中是以Cgi方式運行的,而你的php配置文件中這一項又沒有打開。如果你看到上面的一段警告,你需要打開你的php.ini文件,然後查找cgi.force_redirect = 1這樣一句,把這一句前面的分號去掉,然後把1改成0就OK了,現在再來刷新一下你剛才的頁面,如果沒有什麼意外的話,你就會看見一個php的歡迎頁面了,那就恭喜你了哦,你的伺服器已經支持cgi和php了,asp那還用說嗎!!呵呵。