可參考:Apache 的 httpd.conf 詳解html
ServerTokens OS 此指令控制了Server回送給客戶端的迴應頭域是否包含關於服務器OS類型和編譯進的模塊描述信息。服務器會發送:Server: Apache/2.0.41 (Unix)web
ServerRoot "/etc/httpd" 用於指定守護進程httpd的運行目錄,httpd在啓動以後將自動將進程的當前目錄改變爲這個目錄,所以若是設置文件中指定的文件或目錄是相對路徑,那麼真實路徑就位於這個ServerR oot定義的路徑之下。apache
PidFile run/httpd.pid 指定的文件將記錄httpd守護進程的進程號,因爲httpd能自動複製其自身,所以系統中有多個httpd進程,但只有一個進程爲最初啓動的進程,它爲其餘進程的父進程,對這個進程發送信號將影響全部的httpd進程。PidFILE定義的文件中就記錄httpd父進程的進程號。瀏覽器
Timeout 60安全
一、接收GET請求的所花費的時間總和;服務器
二、POST或者PUT請求時發送TCP包給服務器的間隔(不是間隔時間之和)併發
三、發送響應時發送TCP包的間隔(不是間隔之和) app
注:就算timeout設置了1s, 服務器處理請求的時間徹底能夠超過1s, 只要服務器每隔不超過1s的時間就發送一點數據到客戶端便可。因此timeout參數限制的是這個間隔時間,而不是整個通訊的時間總和,故而,即便有的請求超過了TimeOut的值,也依舊沒有斷開鏈接。post
KeepAlive On 在HTTP 1.0中,一次鏈接只能做傳輸一次HTTP請求,而KeepAlive參數用於支持HTTP 1.1版本的一次鏈接、屢次傳輸功能,這樣就能夠在一次鏈接中傳遞多個HTTP請求。雖然只有較新的瀏覽器才支持這個功能,但仍是打開使用這個選項。測試
MaxKeepAliveRequests 100 MaxKeepAliveRequests爲一次鏈接能夠進行的HTTP請求的最大請求次數。將其值設爲0將支持在一次鏈接內進行無限次的傳輸請求。事實上沒有客戶程序在一次鏈接中請求太多的頁面,一般達不到這個上限就完成鏈接了。
KeepAliveTimeout 15 KeepAliveTimeout測試一次鏈接中的屢次請求傳輸之間的時間間隔,若是服務器已經完成了一次請求,但一直沒有接收到客戶程序的下一次請求,在間隔超過了這個參數設置的值以後,服務器就斷開鏈接。
Listen 80 服務器監聽的端口號
mpm_prefork模塊和mpm_worker模塊,具體參數意思請看Apache優化配置:修改最大併發鏈接數
<IfModule prefork.c> StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 4000 </IfModule>
<IfModule worker.c> StartServers 4 MaxClients 300 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule>
加載的模塊
LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_alias_module modules/mod_authn_alias.so LoadModule authn_anon_module modules/mod_authn_anon.so LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule ldap_module modules/mod_ldap.so LoadModule authnz_ldap_module modules/mod_authnz_ldap.so LoadModule include_module modules/mod_include.so LoadModule log_config_module modules/mod_log_config.so LoadModule logio_module modules/mod_logio.so LoadModule env_module modules/mod_env.so LoadModule ext_filter_module modules/mod_ext_filter.so LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule expires_module modules/mod_expires.so LoadModule deflate_module modules/mod_deflate.so LoadModule headers_module modules/mod_headers.so LoadModule usertrack_module modules/mod_usertrack.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule mime_module modules/mod_mime.so LoadModule dav_module modules/mod_dav.so LoadModule status_module modules/mod_status.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule info_module modules/mod_info.so LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule dir_module modules/mod_dir.so LoadModule actions_module modules/mod_actions.so LoadModule speling_module modules/mod_speling.so LoadModule userdir_module modules/mod_userdir.so LoadModule alias_module modules/mod_alias.so LoadModule substitute_module modules/mod_substitute.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule cache_module modules/mod_cache.so LoadModule suexec_module modules/mod_suexec.so LoadModule disk_cache_module modules/mod_disk_cache.so LoadModule cgi_module modules/mod_cgi.so LoadModule version_module modules/mod_version.so
Include conf.d/*.conf 加載ServerRoot目錄下面的conf.d文件夾下的以.conf結尾的文件
User apache 設置啓動httpd進程的用戶
Group apache 設置啓動httpd進程的用戶組
ServerAdmin root@localhost 配置文件中應該改變的也許只有ServerAdmin, 這一項用於配置WWW服務器的管理員的email地址,這將在HTTP服務出現錯誤的條件下返回給瀏覽器,以便讓Web使用者和管理員聯繫,報告錯誤。習慣上使用服務器上的webmaster做爲WWW服務器的管理員,經過郵件服務器的別名機制,將發送到webmaster 的電子郵件發送給真正的Web管理員。
ServerName localhost 缺省狀況下,並不須要指定這個ServerName參數,服務器將自動經過名字解析過程來得到本身的名字,但若是服務器的名字解析有問題(一般爲反向解析不正確),或者沒有正式的DNS名字,也能夠在這裏指定I P地址。當ServerName設置不正確的時候,服務器不能正常啓動。
一般一個Web服務器能夠具備多個名字,客戶瀏覽器可使用全部這些名字或IP地址來訪問這臺服務器,但在沒有定義虛擬主機的狀況下,服務器老是以本身的正式名字迴應瀏覽器。ServerName就定義了Web服務器本身認可的正式名字,例如一臺服務器名字(在DNS中定義了A類型)爲freebsd.exmaple.org.cn,同時爲了方便記憶還定義了一個別名(CNAME記錄)爲www.exmaple.org.cn,那麼Apache自動解析獲得的名字就爲freebsd.example.org.cn,這樣無論客戶瀏覽器使用哪一個名字發送請求,服務器老是告訴客戶程序本身爲freebsd.example.org.cn。雖然這通常並不會形成什麼問題,可是考慮到某一天服務器可能遷移到其餘計算機上,而只想經過更改DNS中的www別名配置就完成遷移任務,因此不想讓客戶在其書籤中使用 freebsd記錄下這個服務器的地址,就必須使用ServerName來從新指定服務器的正式名字。
DocumentRoot "/var/www/html" 定義這個服務器對外發布的超文本文檔存放的路徑,客戶程序請求的UR L就被映射爲這個目錄下的網頁文件。這個目錄下的子目錄,以及使用符號鏈接指出的文件和目錄都能被瀏覽器訪問,只是要在URL上使用一樣的相對目錄名。
注意,符號鏈接雖然邏輯上位於根文檔目錄之下,但實際上能夠位於計算機上的任意目錄中,所以可使客戶程序能訪問那些根文檔目錄以外的目錄,這在增長了靈活性的同時但減小了安全性。Apache在目錄的訪問控制中提供了FollowSymLinks選項來打開或關閉支持符號鏈接的特性。