時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
本文簡要介紹了十幾個(gè)Apache 的配置技巧:
1、如何設(shè) 置請(qǐng)求等待時(shí)間
在httpd.conf里面設(shè)置:
TimeOut n
其中n為整數(shù),單位是秒。
設(shè)置這個(gè)TimeOut適用于三種情況:
2、如何接收一個(gè)get請(qǐng)求的總時(shí)間
接收一個(gè)post和put請(qǐng)求的TCP包之間的時(shí)間
TCP包傳輸中的響應(yīng)(ack)時(shí)間間隔
3、如何使得apache監(jiān)聽在特定的端口
修改httpd.conf里面關(guān)于Listen的選項(xiàng),例如:
Listen 8000
是使apache監(jiān)聽在8000端口
而如果要同時(shí)指定監(jiān)聽端口和監(jiān)聽地址,可以使用:
Listen 192.170.2.1:80
Listen 192.170.2.5:8000
這樣就使得apache同時(shí)監(jiān)聽在192.170.2.1的80端口和192.170.2.5的8000端口。
當(dāng)然也可以在httpd.conf里面設(shè)置:
Port 80
這樣來實(shí)現(xiàn)類似的效果。
4、如何設(shè)置apache的最大空閑進(jìn)程數(shù)
修改httpd.conf,在里面設(shè)置:
MaxSpareServers n
其中n是一個(gè)整數(shù)。這樣當(dāng)空閑進(jìn)程超過n的時(shí)候,apache主進(jìn)程會(huì)殺掉多余的空閑進(jìn)程而保持空閑進(jìn)程在n,節(jié)省了系統(tǒng)資源。如果在一個(gè)apache非常繁忙的站點(diǎn)調(diào)節(jié)這個(gè)參數(shù)才是必要的,但是在任何時(shí)候把這個(gè)參數(shù)調(diào)到很大都不是一個(gè)好主意。
同時(shí)也可以設(shè)置:
MinSpareServers n
來限制最少空閑進(jìn)程數(shù)目來加快反應(yīng)速度。
5、apache如何設(shè)置啟動(dòng)時(shí)的子服務(wù)進(jìn)程個(gè)數(shù)
在httpd.conf里面設(shè)置:
StartServers 5
這樣啟動(dòng)apache后就有5個(gè)空閑子進(jìn)程等待接受請(qǐng)求。
也可以參考MinSpareServers和MaxSpareServers設(shè)置。
6、如何在apache中設(shè)置每個(gè)連接的最大請(qǐng)求數(shù)
?
在httpd.conf里面設(shè)置:
MaxKeepAliveRequests 100
這樣就能保證在一個(gè)連接中,如果同時(shí)請(qǐng)求數(shù)達(dá)到100就不再響應(yīng)這個(gè)連接的新請(qǐng)求,保證了系統(tǒng)資源不會(huì)被某個(gè)連接大量占用。但是在實(shí)際配置中要求盡量把這個(gè)數(shù)值調(diào)高來獲得較高的系統(tǒng)性能。
7、如何在apache中設(shè)置session的持續(xù)時(shí)間
在apache1.2以上的版本中,可以在httpd.conf里面設(shè)置:
KeepAlive on
KeepAliveTimeout 15
這樣就能限制每個(gè)session的保持時(shí)間是15秒。session的使用可以使得很多請(qǐng)求都可以通過同一個(gè)tcp連接來發(fā)送,節(jié)約了網(wǎng)絡(luò)資源和系統(tǒng)資源。
8、如何使得apache對(duì)客戶端進(jìn)行域名驗(yàn)證
可以在httpd.conf里面設(shè)置:
HostnameLookups on|off|double
如果是使用on,那么只有進(jìn)行一次反查,如果用double,那么進(jìn)行反查之后還要進(jìn)行一次正向解析,只有兩次的結(jié)果互相符合才行,而off就是不進(jìn)行域名驗(yàn)證。
如果為了安全,建議使用double;為了加快訪問速度,建議使用off。
9、如何使得apache只監(jiān)聽在特定的ip
修改httpd.conf,在里面使用
BindAddress 192.168.0.1
這樣就能使得apache只監(jiān)聽外界對(duì)192.168.0.1的http請(qǐng)求。如果使用:
BindAddress *
就表明apache監(jiān)聽所有網(wǎng)絡(luò)接口上的http請(qǐng)求。
當(dāng)然用防火墻也可以實(shí)現(xiàn)。
10、apache中如何限制http請(qǐng)求的消息主體的大小
?
在httpd.conf里面設(shè)置:
LimitRequestBody n
n是整數(shù),單位是byte。
cgi腳本一般把表單里面內(nèi)容作為消息的主體提交給服務(wù)器處理,所以現(xiàn)在消息主體的大小在使用cgi的時(shí)候很有用。比如使用cgi來上傳文件,如果有設(shè)置:
LimitRequestBody 102400
那么上傳文件超過100k的時(shí)候就會(huì)報(bào)錯(cuò)。
11、如何修改apache的文檔根目錄
修改httpd.conf里面的DocumentRoot選項(xiàng)到指定的目錄,比如:
DocumentRoot /www/htdocs
這樣http://localhost/index.html就是對(duì)應(yīng)/www/htdocs/index.html
12、如何修改apache的最大連接數(shù)
在httpd.conf中設(shè)置:
MaxClients n
n是整數(shù),表示最大連接數(shù),取值范圍在1和256之間,如果要讓apache支持更多的連接數(shù),那么需要修改源碼中的httpd.h文件,把定義的HARD_SERVER_LIMIT值改大然后再編譯。
13、如何使每個(gè)用戶有獨(dú)立的cgi-bin目錄
有兩種可選擇的方法:
(1)在Apache配置文件里面關(guān)于public_html的設(shè)置后面加入下面的屬性:
ScriptAliasMatch ^/~([^/]*)/cgi-bin/(.*) /home/$1/cgi-bin/$2
(2)在Apache配置文件里面關(guān)于public_html的設(shè)置里面加入下面的屬性:
Options ExecCGI
SetHandler cgi-script
14、如何調(diào)整Apache的最大進(jìn)程數(shù)
?
??Apache允許為請(qǐng)求開的最大進(jìn)程數(shù)是256,MaxClients的限制是256.如果用戶多了,用戶就只能看到Waiting for reply....然后等到下一個(gè)可用進(jìn)程的出現(xiàn)。這個(gè)最大數(shù),是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
??你可以把它調(diào)到1024,然后再編譯你的系統(tǒng)。
15、如何屏蔽來自某個(gè)Internet地址的用戶訪問Apache服務(wù)器
可以使用deny和allow來限制訪問,比如要禁止202.202.202.xx網(wǎng)絡(luò)的用戶訪問:
order deny,allow
deny from 202.202.202.0/24
16、如何在日志里面記錄apache瀏覽器和引用信息
你需要把mod_log_config編譯到你的Apache服務(wù)器中,然后使用下面類似的配置:
CustomLog logs/access_log "%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i""
17、如何修改Apache返回的頭部信息
問題分析:當(dāng)客戶端連接到Apache服務(wù)器的時(shí)候,Apache一般會(huì)返回服務(wù)器版本、非缺省模塊等信息,例如:
Server: Apache/1.3.26 (Unix) mod_perl/1.26
解決:
你可以在Apache的配置文件里面作如下設(shè)置讓它返回的關(guān)于服務(wù)器的信息減少到最少:
ServerTokens Prod
注意:
這樣設(shè)置以后Apache還會(huì)返回一定的服務(wù)器信息,比如:
Server: Apache
但是這個(gè)不會(huì)對(duì)服務(wù)器安全產(chǎn)生太多的影響,因?yàn)楹芏?a href="http://ygkjgt7.cn/key/saomiaoruanjian/" target="_blank">掃描軟件是掃描的時(shí)候是不顧你服務(wù)器返回的頭部信息的。你如果想把服務(wù)器返回的相關(guān)信息變成:
Server: It iS a nOnE-aPaCHe Server
那么你就要去修改源碼了。
關(guān)鍵詞標(biāo)簽:技巧,配置,服務(wù)器,設(shè)置
相關(guān)閱讀
熱門文章 ISAPI Rewrite實(shí)現(xiàn)IIS圖片防盜鏈 IIS6.0下配置MySQL+PHP5+Zend+phpMyAdmin 在Windows服務(wù)器上快速架設(shè)視頻編解碼器全攻略 win2000server IIS和tomcat5多站點(diǎn)配置
人氣排行 XAMPP配置出現(xiàn)403錯(cuò)誤“Access forbidden!”的解決辦法 WIN2003 IIS6.0+PHP+ASP+MYSQL優(yōu)化配置 訪問網(wǎng)站403錯(cuò)誤 Forbidden解決方法 如何從最大用戶并發(fā)數(shù)推算出系統(tǒng)最大用戶數(shù) Server Application Unavailable的解決辦法 報(bào)錯(cuò)“HTTP/1.1 400 Bad Request”的處理方法 Windows Server 2003的Web接口 http 500內(nèi)部服務(wù)器錯(cuò)誤的解決辦法(windows xp + IIS5.0)