欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Apache優(yōu)化——日志管理

11.22訪問日志不記錄靜態(tài)文件

察布查爾錫伯網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)2013年至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

編輯虛擬主機(jī)配置文件“httpd-vhosts.conf”:

[root@1~]#vim/usr/local/apache2.4/conf/extra/httpd-vhosts.conf …… <VirtualHost*:80> DocumentRoot"/data/wwwroot/111.com" ServerName111.com ServerAliaswww.example.com <IfModulemod_rewrite.c> RewriteEngineon RewriteCond%{HTTP_HOST}!^111.com$ RewriteRule^/(.*)$http://111.com/$1[R=301,L] </IfModule> ErrorLog"logs/111.com-error_log" SetEnvIfRequest_URI".*.gif$"img SetEnvIfRequest_URI".*.jpg$"img SetEnvIfRequest_URI".*.png$"img SetEnvIfRequest_URI".*.bmp$"img SetEnvIfRequest_URI".*.swf$"img SetEnvIfRequest_URI".*.js$"img SetEnvIfRequest_URI".*.css$"img #以上為定義變量:將所有關(guān)于圖片的請求定義為變量img CustomLog"logs/111.com-access_log"combinedenv=!img #“env=!img”表示非img變量。本行命令的含義是:不記錄關(guān)于變量img的請求日志。 </VirtualHost>

說明:將所有訪問圖片的請求定義為變量img,在訪問記錄(日志)中將其排除即可。重新加載后使用curl訪問img變量中所指定格式的文件內(nèi)容時將不會產(chǎn)生訪問記錄。

擴(kuò)展: apache日志記錄客戶端請求的域名

正常情況下,根本就沒有必要記錄這一項,畢竟咱們大都根據(jù)虛擬主機(jī)來設(shè)置相應(yīng)的訪問日志,但也有個別的情況,比如ServerName*.abc.com這樣泛解析的形式,所以有必要記錄一下用戶請求的域名到底是哪個。而apache的LogFormat中正好有一項值滿足了這個需求。即%V這里是大寫的V,小寫的v記錄的是咱們在虛擬主機(jī)中設(shè)置的ServerName,這個的確是沒有必要記錄的。

apache只記錄指定URI的日志

需求:把類似請求www.aaa.com/aaa/...這樣的請求才記錄日志。

方法:在httpd.conf或者相關(guān)的虛擬主機(jī)配置文件中添加:

SetEnvIfRequest_URI"^/aaa/.*"aaa-request CustomLog"|/usr/local/apache/bin/rotatelogs-l/usr/local/apache/logs/aaa-access_%Y%m%d.log86400"combinedenv=aaa-request

原理和不記錄圖片等靜態(tài)訪問的日志(http://www.lishiming.net/thread-561-1-1.html)是一樣的。

apache日志中記錄代理IP以及真實客戶端IP

默認(rèn)情況下log日志格式為:

LogFormat"%h%l%u%t"%r"%>s%b"%{Referer}i""%{User-Agent}i""combined

,其中%h是記錄訪問者的IP,如果在web的前端有一層代理,那么這個%h其實就是代理機(jī)器的IP,這不是我們想要的。我們需要的是記錄客戶端的真實IP,“%{X-FORWARDED-FOR}i”該字段會記錄客戶端真實IP,所以log日志的格式應(yīng)改為:

LogFormat"%h%{X-FORWARDED-FOR}i%l%u%t"%r"%>s%b"%{Referer}i""%{User-Agent}i""combined 11.23訪問日志切割 配置

編輯虛擬主機(jī)配置文件:

[root@1~]#vim/usr/local/apache2.4/conf/extra/httpd-vhosts.conf …… <VirtualHost*:80> DocumentRoot"/data/wwwroot/111.com" ServerName111.com ServerAliaswww.example.com <IfModulemod_rewrite.c> RewriteEngineon RewriteCond%{HTTP_HOST}!^111.com$ RewriteRule^/(.*)$http://111.com/$1[R=301,L] </IfModule> ErrorLog"logs/111.com-error_log" SetEnvIfRequest_URI".*.gif$"img SetEnvIfRequest_URI".*.jpg$"img SetEnvIfRequest_URI".*.png$"img SetEnvIfRequest_URI".*.bmp$"img SetEnvIfRequest_URI".*.swf$"img SetEnvIfRequest_URI".*.js$"img SetEnvIfRequest_URI".*.css$"img CustomLog"|/usr/local/apache2.4/bin/rotatelogs-llogs/111.com-access_%Y%m%d.log86400"combinedenv=!img #使用rotatelogs工具,以系統(tǒng)時間為基準(zhǔn),每天切割一次日志,并且日志名字格式為“111.com-access_%Y%m%d.log”。 #每小時切割一次日志,語法: #CustomLog"|/usr/local/apache2.4/bin/rotatelogslogs/access_%Y%m%d%H.log3600"combined

說明:rotatelogs是Apache切割日志的工具;-l表示使用系統(tǒng)(CST=Chinesetime)時間,如果加-l選項,將以默認(rèn)的(UTC)時間為準(zhǔn);日志文件名“%Y%m%d”表示年月日;時間間隔設(shè)定為一天(1day=24h=1440min=86400s)。

檢測 重載配置文件:

[root@1111.com]#/usr/local/apache2.4/bin/apachectl-t SyntaxOK [root@1111.com]#/usr/local/apache2.4/bin/apachectlgraceful 訪問、檢測日志:

[root@1~]#curl-x192.168.8.131:80111.com/http.jpg-I [root@1111.com]#ls/usr/local/apache2.4/logs/ 111.com-access_20170801.log111.com-error_logabc.com-error_logerror_log 111.com-access_logabc.com-access_logaccess_loghttpd.pid

說明:配合計劃任務(wù)使用,定期清理日志文件,避免日志文件累計導(dǎo)致磁盤空間不足。

擴(kuò)展: rotatelogs命令

語法:rotatelogs[-l]logfile[rotationtime[offset]]rotatelogs[filesizeM]logfile

選項:-l:使用本地時間代替GMT時間作為時間基準(zhǔn)。注意:在一個改變GMT偏移量(比如夏令時)的環(huán)境中使用-l會導(dǎo)致不可預(yù)料的結(jié)果。所以一定要加上-l否則出現(xiàn)的日志時間和實際時間是相差8小時的。rotationtime:日志文件滾動的以秒為單位的間隔時間。offset:相對于UTC的時差的分鐘數(shù)。如果省略,則假定為”0″并使用UTC時間。比如,要指定UTC時差為”-5小時”的地區(qū)的當(dāng)?shù)貢r間,則此參數(shù)應(yīng)為”-300″。filesizeM:指定以filesizeM文件大小滾動,而不是按照時間或時差滾動。

日志切割方法2:

使用cronolog命令:

一:每一天建立一個新日志 CustomLog"|bin/cronologlogs/access_%Y%m%d.log"combined 二:每小時建立一個新日志 CustomLog"|bin/cronologlogs/access_%Y%m%d%h.log"combined 11.24靜態(tài)元素過期時間

當(dāng)瀏覽器訪問網(wǎng)站時會把靜態(tài)文件(如圖片文件、css、js文件等)緩存到本地電腦,這樣下次訪問的時候就不用去遠(yuǎn)程下載了,可以自定義清除該部分緩存的時間,即設(shè)定靜態(tài)元素過期時間。該設(shè)置可用于優(yōu)化網(wǎng)站,特別是公司內(nèi)網(wǎng)。

配置

編輯虛擬主機(jī)配置文件:

[root@1~]#vim/usr/local/apache2.4/conf/extra/httpd-vhosts.conf …… <VirtualHost*:80> DocumentRoot"/data/wwwroot/111.com" ServerName111.com ServerAliaswww.example.com <IfModulemod_rewrite.c> RewriteEngineon RewriteCond%{HTTP_HOST}!^111.com$ RewriteRule^/(.*)$http://111.com/$1[R=301,L] </IfModule> <IfModulemod_expires.c> ExpiresActiveon #打開該功能的開關(guān) ExpiresByTypeimage/gif"accessplus1days" ExpiresByTypeimage/jpeg"accessplus24hours" ExpiresByTypeimage/png"accessplus24hours" ExpiresByTypetext/css"nowplus2hour" ExpiresByTypeapplication/x-javascript"nowplus2hours" ExpiresByTypeapplication/javascript"nowplus2hours" ExpiresByTypeapplication/x-shockwave-flash"nowplus2hours" ExpiresDefault"nowplus0min" #以上是定義不同類型的文件緩存的時間 </IfModule> ErrorLog"logs/111.com-error_log" SetEnvIfRequest_URI".*.gif$"img SetEnvIfRequest_URI".*.jpg$"img SetEnvIfRequest_URI".*.png$"img SetEnvIfRequest_URI".*.bmp$"img SetEnvIfRequest_URI".*.swf$"img SetEnvIfRequest_URI".*.js$"img SetEnvIfRequest_URI".*.css$"img CustomLog"|usr/local/apache2.4/bin/rotatelogs-llogs/111.com-access_%Y%m%d.log86400"combinedenv=!img #使用rotatelogs工具,以系統(tǒng)時間為基準(zhǔn),每天切割一次日志,并且日志名字格式為“111.com-access_%Y%m%d.log”。

說明:在配置文件添加mod_expires.c模塊內(nèi)容,其余不變。

檢測

檢測語法錯誤: [root@1111.com]#/usr/local/apache2.4/bin/apachectl-t SyntaxOK 檢測Apache配置文件是否開啟expire模塊: [root@1111.com]#/usr/local/apache2.4/bin/apachectl-M|grepexpires

說明:在此未檢測到expires模塊,所以需要編輯Apache配置文件,加載expires模塊。

配置Apache,加載expires模塊

編輯Apache配置文件:

[root@1111.com]#vim/usr/local/apache2.4/conf/httpd.conf LoadModuleexpires_modulemodules/mod_expires.so 加載配置文件: [root@1111.com]#/usr/local/apache2.4/bin/apachectl-t SyntaxOK [root@1111.com]#/usr/local/apache2.4/bin/apachectlgraceful 檢查模塊是否開啟: [root@1111.com]#/usr/local/apache2.4/bin/apachectl-M|grepexpires expires_module(shared)

說明:輸入“/”查找expires模塊,并開啟加載該模塊的命令行(去掉#即可)。

再次檢測

[root@1111.com]#curl-x192.168.8.131:80111.com/baidu.png-I HTTP/1.1200OK Date:Tue,01Aug201710:17:36GMT Server:Apache/2.4.27(Unix)PHP/5.6.30 Last-Modified:Tue,01Aug201710:13:45GMT ETag:"e7a-555ae670b0840" Accept-Ranges:bytes Content-Length:3706 Cache-Control:max-age=86400 Expires:Wed,02Aug201710:17:36GMT Content-Type:image/png

說明:當(dāng)前時間“Date:Tue,01Aug201710:17:36GMT”,緩存時長“Cache-Control:max-age=86400s”,失效時間“Expires:Wed,02Aug201710:17:36GMT”,即png格式圖片緩存時長為1天。

網(wǎng)頁標(biāo)題:Apache優(yōu)化——日志管理
網(wǎng)址分享:http://chinadenli.net/article14/choege.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名虛擬主機(jī)網(wǎng)站制作品牌網(wǎng)站設(shè)計用戶體驗企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司