Web伺服器也成為www伺服器,其主要功能是提供網上資訊浏覽功能,而www是采用用戶端/伺服器結構,其作用是整理和儲存各種www資源,并響應用戶端軟體的請求,把客戶所需要的資源傳到用戶端的作業系統上。
●Web服務所使用的是http協定,工作在OSI七層參考模型的應用層。
從http協定的誕生一直延續到現在一共存在三個版本:0.9;1.0;1.1
●在http/1.1中共定義了8中動作:OPTIONS、HEAD、GET、POST、PUT、DELETE、TRACE、CONNECT;
●在HTTP伺服器回應用戶端狀态碼主要有以下幾個:
1、1xx消息:代表請求已被接受,一般為臨時響應;
2、2xx消息:正常響應資訊,這類狀态碼代表請求已成功被伺服器接受、了解并接受;
3、3xx消息:重定向,這類狀态碼代表用戶端需采取進一步的操作才能完成請求;
4、4xx消息:請求錯誤,這類狀态碼一般代表了用戶端發生了錯誤,阻礙了伺服器的處理;
5、5xx消息:伺服器錯誤,這類狀态碼代表伺服器在處理請求的過程有錯誤或者有異常狀态發生;
●Apache伺服器,是作為web伺服器的一種,因為其運作和處理方面穩定,可靠的優越性能,成為當下web伺服器的領跑者。但是由于apache使用的select事件的IO機制,是以比較占有資源,但也正式因為這種設計,才使得apache工作起來比較穩定。
●以下就講述apache的配置檔案以及其工作機制:
1、Apache其服務名:httpd
2、主配置檔案:/etc/httpd/conf/httpd.conf
3、apache又有很多子配置,是以其具有很多配置片段:
其片段配置檔案:/etc/httpd/conf.d/*
4、其預設存放網頁的目錄:/var/www/html
當然,大家都知道Linux是開源自由的作業系統,是以你懂的~,上面的所有屬性都是可以修改的!
●Apache的工作機制:
在處理動态網頁時,apache則使用的是CGI(通用網關接口),CGI其作用是讓前端的伺服器和背景的應用程式結合起來,來處理web伺服器上的網頁内的腳本。當web伺服器對頁面進行處理時,發現網頁内有腳本檔案,此時就可以通過CGI這個接×××給背景處理該腳本的應用程式,當應用程式處理後将處理後的結果傳回給web伺服器,而此時的腳本已經被格式化為html語言,記住,web伺服器是不能處理動态網頁的,是以哪個伺服器支援CGI也就是說,這個伺服器可以處理動态網頁!
●Apache有三中工作方式:
CGI:apache響應每一個使用者請求,都有啟動一個獨立程序,而apache自身又要啟動一個程序,來等待使用者請求,生成一個web程序後,又要生成一個處理程式的程序,當處理完後,每一個程序又要按照之前的配置進行相應個數的程序銷毀,而伺服器的資源開銷也就開銷在這個地方了!
子產品化:當使用者請求的有動态内容時,CGI的工作模式中那個應用程式的程序不在是獨立的程序,而是作為Apache的子產品存在,在Apache的位址空間中運作。
FASTCGI:之前的apache的工作程序不在是一個獨立的程序了,而是作為一個服務存在,當個使用者請求的頁面存在動态内容時,伺服器就向這個服務發起請求,進行處理,而這種方式的好處是這個程序具有了自己的管理機制,而它又是獨立工作成一個服務,是以它也可以存放在不同的伺服器上,這樣就大大的提高了網站的性能。
●而apache的工作受SElinux影響,是以在啟動apache之前将SElinux狀态暫時停用:
#setenforce 0
檢視SElinux的工作狀态:
#getenforce
●MPM:multipath processing module多路處理子產品,多個使用者請求,如何去處理,叫做多路處理機制,多道處理子產品常用的有以下兩種:
prefork:事先為每一個使用者的請求生成多個空閑程序來進行響應,優點:穩定,安全性好
worker:每一個請求用一個線程進行響應,特點:線程的建立和銷毀友善快捷,資源消耗低,而Linux又不是多線程的作業系統,是以此方式不被使用。
這是apache的獨有的工作機制。
●apache配置檔案結構:
在配置檔案中有以下幾個特點:
1、以#開始的是注釋行
2、關鍵字對大小寫不敏感
3、大多數參數在有多個值時,使用空格分割
●apache的主配置檔案/etc/httpd/conf/httpd.conf由以下3部分組成
1、Global Environment:全局配置,該部分主要對apache的運作環境以及狀态進行設定。
2、Main Server Configuration:主機服務配置,該部分實際是對運作網站的參數的設定。
3、Virtual Hosts:虛拟主機配置,該部分用于定義多個主機的網站,而該定義方法又分為:基于IP位址,基于端口号,基于FQDN三種。
配置檔案中常用參數的意義:
●檔案系統容器使用以下格式進行定義:
<Directory 目錄>
參數
……
</Directory>
<DirectoryMatch 目錄正規表達式>
<Files 檔案>
</Files>
<FileMatch 檔案正規表達式>
</FileMatch>
●網絡空間使用以下格式:
<Location 路徑>
</Location>
<LocationMatch 路徑正規表達式>
</LocationMatch>
例如:
其他屬性
以上為apache伺服器配置的基本常用參數,其中包含别名,通路控制,以及通路使用者身份驗證等屬性參數。歡迎繼續關注以後的apache伺服器配置與調優!