中間件-apache詳解


簡介:

apache http server(簡稱apache)是現在使用世界排名第一的web服務器,幾乎可以應用在任何平台。它是一個開源的網頁服務器,特點是簡單,速度快,穩定性高,還可以作為代理服務器。

特性:
  • 支持最新的HTTP/1.1通信協議
  • 配置文件簡單,易操作,用戶可以通過直接修改apache的配置文件信息來修改apache
  • 支持實時監控服務器狀態和定制服務器日志
  • 支持基於IP和基於域名的虛擬主機
  • 支持多種方式的HTTP認證
  • 支持服務端包含指令(SSI)
  • 支持安全Socket層(SSL)
  • 支持用戶會話過程的跟蹤
  • 支持FastCGI
  • 通過第三方模塊可以支持JavaServlets
  • 支持多進程
安裝

linux下 yum install httpd

1527770877932

啟動,停止命令

service httpd start 啟動

service httpd stop 停止

service httpd restart 重啟

1527770965538

Apache主要目錄和配置

查看apache全部配置內容 cat httpd.conf|egrep -v".*#|$"|nl

1527771654955

1527771673362

配置 解釋
ServerRoot "/etc/httpd" apache的安裝目錄
Listen 80 監聽端口
user apache apache的用戶默認
Group apache apache的組默認
ServerAdmin root@localhost.com 系統管理員郵箱
ServerName localhost:80 服務器名稱
對根目錄的限制
AllowOverride none 表示禁止用戶對目錄配置文件(.htaccess進行修改)重載,普通站點不建議開啟
Require all denied 拒絕所有來源訪問
DocumentRoot “/var/www/html" apache的默認web站點目錄路徑
apache 工作模式

Apache一共有3中MPM(多進程處理模塊),prefork,worker,event。

Prefork MPM:在啟動之初,會預派生fork一些子進程,然后等待請求進來,並且總會保持一些備用的子進程,同時派生出的每個子進程中都只有一個進程,在一個時間點內,只能處理一個請求。

worker MPM:是使用了多進程+多線程的模式。它也預先fork了幾個子進程(數量比較少),每個子進程能夠生成一些服務線程和一個監聽線程,該監聽線程監聽接入請求並將其傳遞給服務線程處理和應答。

event MPM:event MPM中,會有一個專門的線程來管理這些 keep-alive 類型的線程,當有真實請求過來的時候,將請求傳遞給服務線程,執行完畢后,又允許它釋放。這樣,一個線程就能處理幾個請求了,實現了異步非阻塞。

apache監控

在配置文件添加一段Location,配置完后重啟apache,訪問http://ip地址/server-status

1527775539761

將此段代碼取消注釋,並修改為如下所示

ExtendedStatus On
<Location /server-status>  
SetHandler server-status  
Order Deny,Allow    
Allow from all
</Location>

保存退出,重啟 service httpd restart

1527775737595

定時刷新 http://ip/server-status?refresh=N,每 N 秒自動刷新一次。

采集數據 http://ip/server-status?auto

apache監控指標

1527776344694

linux下監控apache

1.用 ps 來看 httpd 進程數: ps aux|grep httpd|wc -l

1527776806577

2.用 netstat 來看當前的連接數:netstat -ant|grep ":80"|wc -l

1527776907475

3.實時檢測httpd連接數:watch -n 1 -d “pgrep httpd|wc -l”

1527777011324

4.計算httpd進程占用內在的平均數:ps aux|grep -v grep|awk ‘/httpd/{sum+=$6}; END{print sum/n}’

5.查看Apache的並發請求數及期TCP連接狀態:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

1527777211329

1527777231011


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM