歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

LinuxApacheWeb服務器

  一、什麼是WWW服務   現在在Internet上最熱門的服務之一就是環球信息網WWW(World Wide Web)服務,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、CERN httpd、Microsoft Internet Information System、NCSA httpd、Plexus httpd、WebSite等。在UNIX/LINUX系統中常用的有:CERN、NCSA、Apache三種       CERN httpd     這是最早期的WWW服務器軟件,用C語言編寫,現在功能有限,用戶在     縮減中。有興趣的話可以在:FTP://ftp.w3.org/pub/WWW/bin中找到它。       NCSA httpd     這是在WWW服務器發展初期,美國國家超級計算機應用中心(NCSA)     在1995年創建的當時一流的WWW服務器。它也是用C語言編寫的,程序小、速度快。但是現在NCSA WWW服務器的主要開發人員已經離開了NCSA,這個服務器項目已經停頓了。相信大家不會選擇一個沒有發展的WWW服務器軟件吧!     當然,由於它的特殊歷史地位,相信使用它的人現在還不少。如果你需要可以在ftp://ftp.ncsa.uiUC.edu獲取它。       Apache     根據著名的WWW服務器調查公司所作的調查,世界上百分之五十以上的     WWW服務器都在使用Apache,是世界排名第一的WEB服務器。     Apache的誕生極富有戲劇性。當NCSA WWW服務器項目停頓後,那些使用NCSA WWW服務器的人們開始交換他們用於該服務器的補丁程序,他們也很快認識到成立管理這些補丁程序的論壇是必要的。就這樣,誕生了Apache Group,後來這個團體在NCSA的基礎上創建了Apache。     Apache的主要特征是:     . 可以運行上所有計算機平台;     . 支持最新的HTTP 1.1協議;     . 簡單而強有力的基於文件的配置;     . 支持通用網關接口CGI;     . 支持虛擬主機;     . 支持HTTP認證;     . 集成Perl腳本編程語言;     . 集成的代理服務器;     . 具有可定制的服務器日志;     . 支持服務器端包含命令(SSI)     . 支持安全Socket層(SSL)     . 用戶會話過程的跟蹤能力;     . 支持FastCGI;     . 支持Java Servlets。     我們還有什麼理由放棄這個功能強大而且前途光明的WWW服務器軟件呢?     三、安裝Apache     下面我們就開始漫漫征服Apache之旅,通過循序漸進的需求實例,一步步地學習使用Apache,從入門到精通。     3.1 系統需求     運行Apache不需要太多的計算資源。它在有6-10MB硬盤空間和8MB RAM的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       tar xvzf apache_1.2.4.e.tar.gz     這就完成了安裝工作,簡單吧!     如果你使用的是RedHat Linux的話,你也可以下載apache_1.2.4.rpm軟件安     裝包,然後使用rpm ?ivh apache_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靈活性的表現。模塊配置行如下所示:     AddModule modules/standard/mod_env.o     如果你需要Apache服務器具備什麼功能,就將那個模塊用AddModule語句加到配置文件Configuration中去。     下表列出了Apache的模塊功能:     模塊名 功能 缺省 mod_Access 提供基於主機的訪問控制命令 y mod_actions 能夠運行基於MIME類型的CGI腳本或HTTP請求方法 y mod_alias 能執行URL重定向服務 y mod_asis 使文檔能在沒有HTTP頭標的情況下被發送到客戶端 y mod_auth 支持使用存儲在文本文件中的用戶名、口令實現認證 y mod_auth_dbm 支持使用DBM文件存儲基本HTTP認證 n mod_auth_mysql 支持使用MySQL數據庫實現基本HTTP認證 n mod_auth_anon 允許以匿名方式訪問需要認證的區域 y mod_auth_external支持使用第三方認證 n mod_autoindex 當缺少索引文件時,自動生成動態目錄列表 y mod_cern_meta 提供對元信息的支持 n mod_cgi 支持CGI y mod_dir 能夠重定向任何對不包括尾部斜槓字符命令的請求 y mod_env 使你能夠將環境變量傳遞給CGI或SSI腳本 n mod_eXPires 讓你確定Apache在服務器響應請求時如何處理Expires y mod_headers 能夠操作HTTP應答頭標 y mod_imap 提供圖形映射支持 n mod_include 使支持SSI n mod_info 對服務器配置提供了全面的描述 y mod_log_agent 允許在單獨的日志文件中存儲用戶代理的信息 n mod_log_config 支持記錄日志 y mod_log_referer 提供了將請求中的Referer頭標寫入日志的功能 n mod_mime 用來向客戶端提供有關文檔的元信息 y mod_negotiation 提供了對內容協商的支持 y mod_setenvif 使你能夠創建定制環境變量 y mod_speling 使你能夠




Copyright © Linux教程網 All Rights Reserved