Apache HTTP Server(簡稱Apache)是Apache軟體基金會的一個開放源碼的網頁伺服器,可以在大多數計算機作業系統中運作,由于其多平台和安全性被廣泛使用,是最流行的Web伺服器端軟體之一。它快速、可靠并且可通過簡單的API擴充,将Perl/Python等解釋器編譯到伺服器中。
靜态資源:靜态内容,用戶端從伺服器獲得的資源的表現形式與原檔案相同,格式為.html,.css,.jgp等
動态資源:通常是程式檔案,需要在伺服器執行之後,将執行的結果傳回給用戶端, .php .jsp等
長連結:連接配接建立,每個資源擷取完成後不會斷開連接配接,而是繼續等待其他請求的完成
優點:隻需要建立一次連接配接
缺點:如果請求資源的時間少于長連接配接的門檻值,那麼多餘的時間會被浪費
如果請求資源的時間大于長連接配接的門檻值,那麼有些資源将通路不到
短連結:用戶端和伺服器每進行一次HTTP操作,就建立一次連接配接,任務結束就中斷連接配接。
優點:當請求資源時,請求完畢立即斷開
缺點:當請求資源較多時,那麼需要不斷的建立連接配接,斷開連接配接,占用資源
優化方案:給長連接配接設定門檻值,設定時間較短的長連結
http/1.0預設是使用短連結
http/1.1預設是使用長連接配接
HTTP狀态碼(英語:HTTP Status Code)是用以表示網頁伺服器超文本傳輸協定響應狀态的3位數字代碼。它由 RFC 2616 規範定義的,并得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774 與 RFC 4918 等規範擴充。所有狀态碼的第一個數字代表了響應的五種狀态之一。所示的消息短語是典型的,但是可以提供任何可讀取的替代方案。 除非另有說明,狀态碼是HTTP / 1.1标準(RFC 7231)的一部分。
常見的狀态碼
yum install httpd -y
/etc/httpd/conf/httpd.conf
/var/www/html/index.html
apache日志一般分為兩類,1.錯誤日志,2.通路日志
錯誤日志:一般存放apache所生成的錯誤資訊
錯誤日志預設存放路徑
/etc/httpd/logs/error_log
通路日志:記錄着通路本網站的用戶端資訊,例如ip等
通路日志預設存放路徑
/etc/httpd/logs/access_log
通路日志類型
combined和common:複合型和普通型
通路日志格式
含義:
Multipath Process Module:多路處理子產品,Apache 一共有3種穩定的 MPM 模式(多程序處理子產品),它們分别是 prefork、worker、event。2.4版本的httpd預設是prefork工作模式。
而由于event不支援https,是以,企業裡面很少使用event
prefork模式 (apache預設工作模式)
工作特點:
使用多個程序,每個程序隻有一個線程,每個程序在某個确定的時間隻能維持一個連結,優點是穩定,但記憶體開銷較高
worker模式
使用多個程序,每個程序包含多個線程,每個線程在某個确定的時間隻能維持一個連結,記憶體占用比較小,适合大并發,高流量的web伺服器worker缺點是一個線程崩潰,整個程序就會連同其任何線程一起挂掉
event模式
不支援https
檢視apache目前工作模式 httpd -V
修改MPM子產品工作模式 vim /etc/httpd/conf.modules.d/00-mpm.conf
将配置檔案修改後再httpd -V 檢視工作模式
當一台伺服器上隻運作一個apache時,當使用者通路量不大時,會造成資源浪費,為了節省資源可以建立虛拟主機來運作多個apache的web服務,運作多個虛拟主機有三種實作方式
1、基于ip :為每個虛拟主機至少準備一個IP
2、基于端口号:為每個主機至少準備一個端口号
3、基于主機名:為每個主機至少準備一個主機名
建立虛拟主機可以混合使用上述三種任意方式
注意:一般建立虛拟主機時,不能和中心主機混用,使用虛拟主機時禁用中心主機。
禁用中心主機:注釋DocumentRoot
每個虛拟主機都有專門的配置: vim /etc/httpd/conf/httpd.conf
舉例:vim /etc/httpd/conf/httpd.conf ,在檔案最後追加
apache有四種通路控制模式
1、基于站點通路控制
2、基于使用者通路控制
3、基于來源位址通路控制
4、基于組通路控制