LinuxApacheWeb服務器 |
發布時間: 2012/8/13 11:59:51 |
一、什么是WWW服務 現在在Internet上最熱門的服務之一就是環球信息網WWW(WorldWideWeb)服務,Web已經成為很多人在網上查找、瀏覽信息的主要手段。WWW是一種交互式圖形界面的Internet服務,具有強大的信息連接功能。它使得成千上萬的用戶通過簡單的圖形界面就可以訪問各個大學、組織、公司等的最新信息和各種服務。 商業界很快看到了其價值,許多公司建立了主頁,利用Web在網上發布消息,并反它作為各種服務的界面,如客戶服務、特定產品和服務的詳細說明、宣傳廣千以及是漸增長的產品銷售和服務。商業用途促進了環球信息網絡的迅速發展。 如果你想通過主頁向世界介紹自己或自己的公司,就必須將主頁放在一個WEB服務器上,當然你可以使用一些免費的主頁空間來發布。但是如果你有條件,你可以注冊一個域名,申請一個IP地址,然后讓你的ISP將這個IP地址解析到你的LINUX主機上。然后,在LINUX主機上架設一個WEB服務器。你就可以將主頁存放在這個自己的WEB服務器上,通過它把自己的主頁向外發布。 WWW是基于客戶機/服務器方式的信息發現技術和超文本技術的綜合。WWW服務器通過HTML超文本標記語言把信息組織成為圖文并茂的超文本;WWW瀏覽器則為用戶提供基于HTTP超文本傳輸協議的用戶界面。用戶使用WWW瀏覽器通過Internet訪問遠端WWW服務器上的HTML超文本,如下圖所示: http協議 WWW瀏覽器<----->WWW服務器 在WWW的客戶機/服務器工作環境中,WWW瀏覽器起著控制作用,WWW瀏覽器的任務是使用一個URL(Internet地址)來獲取一個WWW服務器上的WEB文檔,解釋這個HTML,并將文檔內容以用戶環境所許可的效果最大限度地顯示出來。整個流程如下: WWW瀏覽器根據用戶輸入的URL連到相應的遠端WWW服務器上; 取得指定的WEB文檔; 斷開與遠端WWW服務器的連接。 也就是說,平時我們在瀏覽某個網站的時候是每取一個網頁建立一次連接, 讀完后馬上斷開;當需要另一個網頁時重新周而復始。 二、WWW服務器軟件的比較和選擇 目前,在世界各地有許多公司和學術團體,根據不同的計算機系統,開發出不同的WWW服務器,如Apache、CERNhttpd、MicrosoftInternetInformationSystem、NCSAhttpd、Plexushttpd、WebSite等。在UNIX/LINUX系統中常用的有:CERN、NCSA、Apache三種 CERNhttpd 這是最早期的WWW服務器軟件,用C語言編寫,現在功能有限,用戶在 縮減中。有興趣的話可以在:ftp://ftp.w3.org/pub/WWW/bin中找到它。 NCSAhttpd 這是在WWW服務器發展初期,美國國家超級計算機應用中心(NCSA) 在1995年創建的當時一流的WWW服務器。它也是用C語言編寫的,程序小、速度快。但是現在NCSAWWW服務器的主要開發人員已經離開了NCSA,這個服務器項目已經停頓了。相信大家不會選擇一個沒有發展的WWW服務器軟件吧! 當然,由于它的特殊歷史地位,相信使用它的人現在還不少。如果你需要可以在ftp://ftp.ncsa.uiuc.edu獲取它。 Apache 根據著名的WWW服務器調查公司所作的調查,世界上百分之五十以上的 WWW服務器都在使用Apache,是世界排名第一的WEB服務器。 Apache的誕生極富有戲劇性。當NCSAWWW服務器項目停頓后,那些使用NCSAWWW服務器的人們開始交換他們用于該服務器的補丁程序,他們也很快認識到成立管理這些補丁程序的論壇是必要的。就這樣,誕生了ApacheGroup,后來這個團體在NCSA的基礎上創建了Apache。 Apache的主要特征是: .可以運行上所有計算機平臺; .支持最新的HTTP1.1協議; .簡單而強有力的基于文件的配置; .支持通用網關接口CGI; .支持虛擬主機; .支持HTTP認證; .集成Perl腳本編程語言; .集成的代理服務器; .具有可定制的服務器日志; .支持服務器端包含命令(SSI) .支持安全Socket層(SSL) .用戶會話過程的跟蹤能力; .支持FastCGI; .支持JavaServlets。 我們還有什么理由放棄這個功能強大而且前途光明的WWW服務器軟件呢? 三、安裝Apache 下面我們就開始漫漫征服Apache之旅,通過循序漸進的需求實例,一步步地學習使用Apache,從入門到精通。 3.1系統需求 運行Apache不需要太多的計算資源。它在有6-10MB硬盤空間和8MBRAM的Linux系統上運行得很好。然而,只運行Apache可能不是你想做的事情。更可能的是,你想運行Apache來提供WWW服務、啟動CGI進程以及充分利用所有WWW能夠提供的令人驚奇的功能。在這種情況下,你需要提供反映負載要求的額外的磁盤空間和內存空間。也就是說,如果僅僅是啟動WWW服務并不需要太多的系統資源,但是想要能為大量的客戶提供服務就需要更多的系統資源。 3.2獲取軟件 你可以在http://www.apache.org中獲得Apache的最新版。而幾乎所有的Linux發行版中均包含有Apache軟件包,你也可以直接使用它。 需要注意的是,Apache軟件包有兩種:一種是源代碼,下載后需要自己重新編譯;另一種是可執行文件,下載后只需解壓就可以使用。 3.3安裝軟件 你可以通過以下三種方法安裝Apache服務器。 1.如果你安裝的Linux版本中帶用Apache的話,就在選擇所要安裝的服務器的時候,將httpd這個服務選上,Linux安裝程序將自動完成Apache的安裝工作,并做好基本的配置。 2.使用可執行文件軟件包,這比較適合那些對編譯工作不是太熟悉的初級用戶,因為它相對比較簡單。 下載軟件包apache_1.2.4.e.tar.gz tarxvzfapache_1.2.4.e.tar.gz 這就完成了安裝工作,簡單吧! 如果你使用的是RedHatLinux的話,你也可以下載apache_1.2.4.rpm軟件安 裝包,然后使用rpm–ivhapache_1.2.4.rpm命令安裝。 3.如果你想把Apache服務器充分利用起來的話,就一定要自己編譯Apache 定制其功能。 下載包含Apache源代碼的軟件包apache_1.2.4.tar.gz; 然后用tar命令將它解開; 將當前目錄改變為Apache源代碼發行版的src目錄; 將配置樣本文件(Configuration.tmpl)復制為Configuration文件; 編輯Configuration文件中的配置選項: Makefile配置選項:一些編譯選項: .“CC=”一行指定用什么編譯軟件編譯,一般為“CC=gcc”; .如果需要將額外的標志(參數)指定給C編譯軟件,可以使用: EXTRA_CFLAGS= EXTRA_LFLAGS= .如果系統需要特殊的庫和包含文件,可以在這里指定它們: EXTRA_LIBS= EXTRA_INCLUDES= .如果你要改變代碼優化設置的話,你須將下面一句去掉注釋,然 后改成你所需要的值: #OPTIM=-O2 Rule配置選項:用來決定需要什么功能,一般情況下無需改變。 模塊配置:模塊是Apache的組成部分,它為Apache內核增加新功能。通過使用模塊配置,可以自定義在Apache服務器中需要什么功能,這個部分也是Apache靈活性的表現。模塊配置行如下所示: AddModulemodules/standard/mod_env.o 如果你需要Apache服務器具備什么功能,就將那個模塊用AddModule語句加到配置文件Configuration中去。 下表列出了Apache的模塊功能: 模塊名功能缺省mod_access提供基于主機的訪問控制命令ymod_actions能夠運行基于MIME類型的CGI腳本或HTTP請求方法ymod_alias能執行URL重定向服務ymod_asis使文檔能在沒有HTTP頭標的情況下被發送到客戶端ymod_auth支持使用存儲在文本文件中的用戶名、口令實現認證ymod_auth_dbm支持使用DBM文件存儲基本HTTP認證nmod_auth_mysql支持使用MySQL數據庫實現基本HTTP認證nmod_auth_anon允許以匿名方式訪問需要認證的區域ymod_auth_external支持使用第三方認證nmod_autoindex當缺少索引文件時,自動生成動態目錄列表ymod_cern_meta提供對元信息的支持nmod_cgi支持CGIymod_dir能夠重定向任何對不包括尾部斜杠字符命令的請求ymod_env使你能夠將環境變量傳遞給CGI或SSI腳本nmod_expires讓你確定Apache在服務器響應請求時如何處理Expiresymod_headers能夠操作HTTP應答頭標ymod_imap提供圖形映射支持nmod_include使支持SSInmod_info對服務器配置提供了全面的描述ymod_log_agent允許在單獨的日志文件中存儲用戶代理的信息nmod_log_config支持記錄日志ymod_log_referer提供了將請求中的Referer頭標寫入日志的功能nmod_mime用來向客戶端提供有關文檔的元信息ymod_negotiation提供了對內容協商的支持ymod_setenvif使你能夠創建定制環境變量ymod_speling使你能夠 本文出自:億恩科技【www.vbseamall.com】 |