Apache服務器配置技巧

1、如何設置請求等待時間
  在httpd.conf裏面設置:
TimeOut n
  其中n爲整數,單位是秒。
  設置這個TimeOut適用於三種狀況:

2、如何接收一個get請求的總時間
  接收一個postput請求的TCP包之間的時間
TCP包傳輸中的響應(ack)時間間隔
3、如何使得apache監聽在特定的端口
  修改httpd.conf裏面關於Listen的選項,例如:
Listen 8000
  是使apache監聽在8000端口
  而若是要同時指定監聽端口和監聽地址,可使用:
Listen 192.170.2.1:80
Listen 192.170.2.5:8000
  這樣就使得apache同時監聽在192.170.2.180端口和192.170.2.58000端口。
  固然也能夠在httpd.conf裏面設置:
Port 80
  這樣來實現相似的效果。
4、如何設置apache的最大空閒進程數
  修改httpd.conf,在裏面設置:
MaxSpareServers n
  其中n是一個整數。這樣當空閒進程超過n的時候,apache主進程會殺掉多餘的空閒進程而保持空閒進程在n,節省了系統資源。若是在一個apache很是繁忙的站點調節這個參數纔是必要的,可是在任什麼時候候把這個參數調到很大都不是一個好主意。
  同時也能夠設置:
MinSpareServers n
  來限制最少空閒進程數目來加快反應速度。
5apache如何設置啓動時的子服務進程個數
  在httpd.conf裏面設置:
StartServers 5
  這樣啓動apache後就有5個空閒子進程等待接受請求。
  也能夠參考MinSpareServersMaxSpareServers設置。
6、如何在apache中設置每一個鏈接的最大請求數
  在httpd.conf裏面設置:
MaxKeepAliveRequests 100
  這樣就能保證在一個鏈接中,若是同時請求數達到100就再也不響應這個鏈接的新請求,保證了系統資源不會被某個鏈接大量佔用。可是在實際配置中要求儘可能把這個數值調高來得到較高的系統性能。
7、如何在apache中設置session的持續時間
  在apache1.2以上的版本中,能夠在httpd.conf裏面設置:
KeepAlive on
KeepAliveTimeout 15
  這樣就能限制每一個session的保持時間是15秒。session的使用可使得不少請求均可以經過同一個tcp鏈接來發送,節約了網絡資源和系統資源。
8、如何使得apache對客戶端進行域名驗證
  能夠在httpd.conf裏面設置:
HostnameLookups on|off|double
  若是是使用on,那麼只有進行一次反查,若是用double,那麼進行反查以後還要進行一次正向解析,只有兩次的結果互相符合才行,而off就是不進行域名驗證。
  若是爲了安全,建議使用double;爲了加快訪問速度,建議使用off
9、如何使得apache只監聽在特定的ip
  修改httpd.conf,在裏面使用
BindAddress 192.168.0.1
  這樣就能使得apache只監聽外界對192.168.0.1http請求。若是使用:
BindAddress *
  就代表apache監聽全部網絡接口上的http請求。
  固然用防火牆也能夠實現。
10apache中如何限制http請求的消息主體的大小
  在httpd.conf裏面設置:
LimitRequestBody n
n是整數,單位是byte
cgi腳本通常把表單裏面內容做爲消息的主體提交給服務器處理,因此如今消息主體的大小在使用cgi的時候頗有用。好比使用cgi來上傳文件,若是有設置:
LimitRequestBody 102400
  那麼上傳文件超過100k的時候就會報錯。
11、如何修改apache的文檔根目錄
  修改httpd.conf裏面的DocumentRoot選項到指定的目錄,好比:
DocumentRoot /www/htdocs
  這樣http://localhost/index.html就是對應/www/htdocs/index.html
12、如何修改apache的最大鏈接數
  在httpd.conf中設置:
MaxClients n
n是整數,表示最大鏈接數,取值範圍在1256之間,若是要讓apache支持更多的鏈接數,那麼須要修改源碼中的httpd.h文件,把定義的HARD_SERVER_LIMIT值改大而後再編譯。
13、如何使每一個用戶有獨立的cgi-bin目錄
  有兩種可選擇的方法:
(1)Apache配置文件裏面關於public_html的設置後面加入下面的屬性:
ScriptAliasMatch ^/~([^/]*)/cgi-bin/(.*)/home//cgi-bin/
(2)Apache配置文件裏面關於public_html的設置裏面加入下面的屬性:

Options ExecCGI
SetHandler cgi-script

14、如何調整Apache的最大進程數
Apache容許爲請求開的最大進程數是256,MaxClients的限制是256.若是用戶多了,用戶就只能看到Waiting for
reply….而後等到下一個可用進程的出現。這個最大數,是Apache的程序決定的它的NT版能夠有1024,但Unix版只有256,你能夠在src/include/httpd.h中看到:
#ifndef HARD_SERVER_LIMIT
#ifdef WIN32
#define HARD_SERVER_LIMIT1024
#else
#define HARD_SERVER_LIMIT256
#endif
#endif
你能夠把它調到1024,而後再編譯你的系統。
15、如何屏蔽來自某個Internet地址的用戶訪問Apache服務器
  可使用denyallow來限制訪問,好比要禁止202.202.202.xx網絡的用戶訪問:

order deny,allow
deny from 202.202.202.0/24

16、如何在日誌裏面記錄apache瀏覽器和引用信息
  你須要把mod_log_config編譯到你的Apache服務器中,而後使用下面相似的配置:
CustomLog logs/access_log "%h %l %u %t"%r" %s %b "%i"
"%i""
17、如何修改Apache返回的頭部信息
  問題分析:當客戶端鏈接到Apache服務器的時候,Apache通常會返回服務器版本、非缺省模塊等信息,例如:
Server: Apache/1.3.26 (Unix) mod_perl/1.26
  解決:
  你能夠在Apache的配置文件裏面做以下設置讓它返回的關於服務器的信息減小到最少:
ServerTokens Prod
  注意:
  這樣設置之後Apache還會返回必定的服務器信息,好比:
Server: Apache
  可是這個不會對服務器安全產生太多的影響,由於不少掃描軟件是掃描的時候是不顧你服務器返回的頭部信息的。你若是想把服務器返回的相關信息變成:
Server: It iS a nOnE-aPaCHe Server
  那麼你就要去修改源碼了。html


本文簡要介紹了十幾個Apache 的配置技巧:
1、如何設置請求等待時間
  在httpd.conf裏面設置:
TimeOut n
  其中n爲整數,單位是秒。
  設置這個TimeOut適用於三種狀況:
2、如何接收一個get請求的總時間
  接收一個postput請求的TCP包之間的時間
TCP包傳輸中的響應(ack)時間間隔
3、如何使得apache監聽在特定的端口
  修改httpd.conf裏面關於Listen的選項,例如:
Listen 8000
  是使apache監聽在8000端口
  而若是要同時指定監聽端口和監聽地址,可使用:
Listen 192.170.2.1:80
Listen 192.170.2.5:8000
  這樣就使得apache同時監聽在192.170.2.180端口和192.170.2.58000端口。
  固然也能夠在httpd.conf裏面設置:
Port 80
  這樣來實現相似的效果。
4、如何設置apache的最大空閒進程數
  修改httpd.conf,在裏面設置:
MaxSpareServers n
  其中n是一個整數。這樣當空閒進程超過n的時候,apache主進程會殺掉多餘的空閒進程而保持空閒進程在n,節省了系統資源。若是在一個apache很是繁忙的站點調節這個參數纔是必要的,可是在任什麼時候候把這個參數調到很大都不是一個好主意。
  同時也能夠設置:
MinSpareServers n
  來限制最少空閒進程數目來加快反應速度。
5apache如何設置啓動時的子服務進程個數
  在httpd.conf裏面設置:
StartServers 5
  這樣啓動apache後就有5個空閒子進程等待接受請求。
  也能夠參考MinSpareServersMaxSpareServers設置。
6、如何在apache中設置每一個鏈接的最大請求數
  在httpd.conf裏面設置:
MaxKeepAliveRequests 100
  這樣就能保證在一個鏈接中,若是同時請求數達到100就再也不響應這個鏈接的新請求,保證了系統資源不會被某個鏈接大量佔用。可是在實際配置中要求儘可能把這個數值調高來得到較高的系統性能。
7、如何在apache中設置session的持續時間
  在apache1.2以上的版本中,能夠在httpd.conf裏面設置:
KeepAlive on
KeepAliveTimeout 15
  這樣就能限制每一個session的保持時間是15秒。session的使用可使得不少請求均可以經過同一個tcp鏈接來發送,節約了網絡資源和系統資源。
8、如何使得apache對客戶端進行域名驗證
  能夠在httpd.conf裏面設置:
HostnameLookups on|off|double
  若是是使用on,那麼只有進行一次反查,若是用double,那麼進行反查以後還要進行一次正向解析,只有兩次的結果互相符合才行,而off就是不進行域名驗證。
  若是爲了安全,建議使用double;爲了加快訪問速度,建議使用off
9、如何使得apache只監聽在特定的ip
  修改httpd.conf,在裏面使用
BindAddress 192.168.0.1
  這樣就能使得apache只監聽外界對192.168.0.1http請求。若是使用:
BindAddress *
  就代表apache監聽全部網絡接口上的http請求。
  固然用防火牆也能夠實現。apache

相關文章
相關標籤/搜索