1? 制作一個(gè)bat文件在計(jì)劃任務(wù)里面定期(每天夜里)執(zhí)行:然后刪除舊的日志文件,避免文件過大
apache -k shutdown
move /Y access_log access_log.old
move /Y error_log error_log.old
apache -k start
2 [httpd.conf]
<IfModule mpm_winnt.c>
ThreadsPerChild 250
MaxRequestsPerChild? 30 <- 這個(gè)可以為100,但最好不要為0
Win32DisableAcceptEx <-這個(gè)
</IfModule>
3 使用更詳細(xì)日志捕捉死機(jī)時(shí)訪問的頁面
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
記錄refer可以幫助確認(rèn)發(fā)生問題的請求來自什么頁面,以判斷是否受到攻擊
可以使用"%400,501{User-agent}i"? "%!200,304,302{Referer}i"? 來捕捉特定需要的log
4 在計(jì)算機(jī)管理->性能中,啟動(dòng)性能日志和警報(bào)->計(jì)數(shù)器日志->System Overview。根據(jù)一段時(shí)間的監(jiān)測的數(shù)據(jù),在系統(tǒng)監(jiān)視器里面查看,找到發(fā)生死機(jī)的異常時(shí)候,內(nèi)存,CPU的極值的規(guī)律。然后在警報(bào)里面,如果超過,或接近某個(gè)極值,執(zhí)行重起apache命令。
5 無論如何在你的程序里面加上緩存機(jī)制:無論是通過生成靜態(tài)html頁面或者設(shè)置meta expired為幾分鐘
6 在php.ini里面,將output_buffering=On 不要設(shè)置具體的數(shù)值
7 對于文件下載,使用以下的方法,而不要使用readfile
//readfile($file);
$fd = @fopen($file, rb);
if(!$fd) {
?? print "Bad entry: $entry<br>";
?? continue;
}else {
?? flock($fd,LOCK_SH);
?? $contents = fread($fd, $size);
}
fclose ($fd);
8 為了防止多線程下載,給Apache 加上mod_limitipconn
<IfModule mod_limitipconn.c>
??? <Location /mp3>
?MaxConnPerIP 1
?# In this case, all MIME types other than audio/mpeg and video*
?# are exempt from the limit check
?OnlyIPLimit audio/mpeg video
??? </Location>
</IfModule>
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=565080
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
