1. 程式人生 > >apache學習教程

apache學習教程

兩個 ali debug 開頭 fat req 成對 link 存儲位置

5.apache教程
  httpd.conf文件分析
  ServerRoot "E:/phpwebenv/PHPTutorial/Apache" #apache軟件安裝的位置
  Listen 80 #服務器監聽的端口號
  ServerName localhost #主站點名稱(網站的主機名)
  DocumentRoot "E:\phpwebenv\PHPTutorial\WWW" #主站點的網頁存儲位置

<Directory />
  Options +Indexes +FollowSymLinks +ExecCGI
  AllowOverride All
  Order allow
,deny   Allow from all   Require all granted </Directory> 5.1 Options:配置在特定目錄使用哪些特性,常用的值和基本含義如下:   ExecCGI: 在該目錄下允許執行CGI腳本。   FollowSymLinks: 在該目錄下允許文件系統使用符號連接。   Indexes: 當用戶訪問該目錄時,如果用戶找不到DirectoryIndex指定的主頁文件(例如index.html),則返回該目錄下的文件列表給用戶。   SymLinksIfOwnerMatch: 當使用符號連接時,只有當符號連接的文件擁有者與實際文件的擁有者相同時才可以訪問。
5.2 AllowOverride:允許存在於.htaccess文件中的指令類型(.htaccess文件名是可以改變的,其文件名由AccessFileName指令決定):   None: 當AllowOverride被設置為None時。不搜索該目錄下的.htaccess文件(可以減小服務器開銷)。   All: 在.htaccess文件中可以使用所有的指令 5.3 Order:控制在訪問時Allow和Deny兩個訪問規則哪個優先:   Allow:允許訪問的主機列表(可用域名或子網,例如:Allow from 192.168.0.0/16)。   Deny:拒絕訪問的主機列表。

5.4 服務器優化
  httpd -l apache的所有模塊

5.5 日誌設置
  ErrorLog "logs/error.log" #日誌文件保存位置
  LogLevel error # 日誌的級別
  

日誌記錄器(Logger)的行為是分等級的。如下表所示:

分為OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定義的級別。

Log4j建議只使用四個級別,優先級從高到低分別是 ERROR、WARN、INFO、DEBUG

#ErrorLog "logs/error.log"  
#ErrorLog "|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 2M"

如果file-path以一個管道符號(|)開頭,那麽會為它指定一個命令來處理錯誤日誌


5.5.2 日誌規則
  LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
  LogFormat "%h %l %u %t "%r" %>s %b" common #common為日誌格式名稱

%h --客戶端的ip地址或主機名 

%l --The 這是由客戶端 identd 判斷的RFC 1413身份,輸出中的符號 "-" 表示此處信息無效。 

%u --由HTTP認證系統得到的訪問該網頁的客戶名。有認證時才有效,輸出中的符號 "-" 表示此處信息無效。 

%t --服務器完成對請求的處理時的時間。 

"%r" --引號中是客戶發出的包含了許多有用信息的請求內容。 

%>s --這個是服務器返回給客戶端的狀態碼。 

%b --最後這項是返回給客戶端的不包括響應頭的字節數。 

"%{Referer}i" --此項指明了該請求是從被哪個網頁提交過來的。 

"%{User-Agent}i" --此項是客戶瀏覽器提供的瀏覽器識別信息。 
1.案例:
    規則1.
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    eg:
      127.0.0.1 - - [06/Jan/2018:15:57:56 +0800] "GET /user/1 HTTP/1.1" 200 20698 "-" 
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36" 規則2. LogFormat "%h %l %u %t \"%r\" %>s %b" common   127.0.0.1 - - [06/Jan/2018:16:02:27 +0800] "GET /user/1 HTTP/1.1" 200 20696   127.0.0.1 - - [06/Jan/2018:16:02:27 +0800] "GET /favicon.ico HTTP/1.1" 200 -

5.6 虛擬主機配置

1.單個IP地址的服務器域名的虛擬主機配置
<VirtualHost *:80> DocumentRoot "E:\phpwebenv\PHPTutorial\WWW\vue" ServerName w.vue.com ServerAlias vue.com <Directory "E:\phpwebenv\PHPTutorial\WWW\vue"> Options FollowSymLinks ExecCGI AllowOverride All Order allow,deny Allow from all Require all granted </Directory> </VirtualHost>
2.多個ip和多端口的虛擬主機配置
Listen 192.168.2.2:80
Listen 192.168.2.3:8080
<VirtualHost 192.168.2.2:80>
  DocumentRoot ""
  ServerName www.baidu.com
  AccssFileName .htaccess
</VirtualHost>

# .htaccess 文件(或者"分布式配置文件")提供了針對每個目錄改變配置的方法,即在一個特定的目錄中放置一個包含指令的文件,
  其中的指令作用於此目錄及其所有子目錄

5.7 SSL加密的配置

5.8.

apache學習教程