1、如何設置請求等待時間
在httpd.conf裡面設置:
TimeOut n
其中n為整數,單位是秒。
2、如何接收一個get請求的總時間
接收一個post和put請求的TCP包之間的時間,這個時間需要根據機房的網絡情況而定了。
TCP包傳輸中的響應(ack)時間間隔
3、如何使得apache監聽在特定的端口
修改httpd.conf裡面關於Listen的選項,例如:
Listen 8080
是使apache監聽在8080端口
而如果要同時指定監聽端口和監聽地址,可以使用:
Listen 192.168.0.2:80
Listen 192.168.0.3:8080
這樣就使得apache同時監聽在192.168.0.2的80端口和192.168.0.3的8080端口。
當然也可以在httpd.conf裡面設置:
Port 80
設置好後重啟apache 查看80和8080端口是否被監聽
# netstat -nltp
4、如何設置apache的最大空閒進程數
修改httpd.conf,在裡面設置:
MaxSpareServers n
其中n是一個整數。這樣當空閒進程超過n的時候,apache主進程會殺掉多余的空閒進程而保持空閒進程在n,節省了系統資源。如果在一個apache非常繁忙的站點調節這個參數才是必要的,但是在任何時候把這個參數調到很大都不是一個好主意。
同時也可以設置:
MinSpareServers n
來限制最少空閒進程數目來加快反應速度。
5、apache如何設置啟動時的子服務進程個數
在httpd.conf裡面設置:
StartServers 5
這樣啟動apache後就有5個空閒子進程等待接受請求。
也可以參考MinSpareServers和MaxSpareServers設置
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.1的http請求。如果使用:
BindAddress *
就表明apache監聽所有網絡接口上的http請求。
當然用防火牆也可以實現。
10、apache中如何限制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是整數,表示最大連接數,取值范圍在1和256之間,如果要讓apache支持更多的連接數,那麼需要修改源碼中的httpd.h文件,把定義的HARD_SERVER_LIMIT值改大然後再編譯。
13、如何使每個用戶有獨立的cgi-bin目錄
有兩種可選擇的方法:
(1)在Apache配置文件裡面關於public_html的設置後面加入下面的屬性:
ScriptAliasMatch ^/~([^/]*)/cgi-bin/(.*) /home/$1/cgi-bin/$2
(2)在Apache配置文件裡面關於public_html的設置裡面加入下面的屬性:
<Directory /home/*/public_html/cgi-bin>
Options ExecCGI
SetHandler cgi-script
</Directory>
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_LIMIT 1024
#else
#define HARD_SERVER_LIMIT 256
#endif
#endif
你可以把它調到1024,然後再編譯你的系統。
15、如何屏蔽來自某個Internet地址的用戶訪問Apache服務器
可以使用deny和allow來限制訪問,比如要禁止202.202.202.xx網絡的用戶訪問:
<Directory /www/htdocs>
order deny,allow
deny from 202.202.202.0/24
</Directory>
16、如何在日志裡面記錄apache浏覽器和引用信息
你需要把mod_log_config編譯到你的Apache服務器中,然後使用下面類似的配置:
CustomLog logs/access_log "%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}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
那麼你就要去修改源碼。