apache的訪問日誌會記錄網站每一個文件被獲取的信息,這樣日誌信息量會很大,咱們排查日誌的時候不容易篩選有用的記錄。咱們能夠把靜態文件的日誌設置爲不記錄,提升咱們排查日誌信息的效率javascript
在conf/extra/httpd-vhosts.conf/ 配置文件下進行設定:css
<VirtualHost *:80> ServerAdmin lgs@111.com DocumentRoot "/data/wwwroot/111.com" ServerName www.111.com ServerAlias 111.com 123.com SetEnvIf Request_URI ".*\.gif$" img // 定義元素爲img SetEnvIf Request_URI ".*\.jpg$" img SetEnvIf Request_URI ".*\.png$" img SetEnvIf Request_URI ".*\.bmp$" img SetEnvIf Request_URI ".*\.swf$" img SetEnvIf Request_URI ".*\.js$" img SetEnvIf Request_URI ".*\.css$" img ErrorLog "logs/111.com-error_log" CustomLog "logs/111.com-access_log" common env=!img //指定非img的文件才記錄日誌。 </VirtualHost>
從新加載配置文件:java
[root@lgs-02 ~]# /usr/local/apache2.4/bin/apachectl -t Syntax OK [root@lgs-02 ~]# /usr/local/apache2.4/bin/apachectl graceful
再訪問網站下的圖片文件,查看日誌已不在記錄圖片的訪問日誌了。apache
隨着網站訪問量的增大,咱們網站的訪問日誌文件也會變得很大,爲了保持磁盤空間,方便訪問日誌的管理(備份、刪除歷史日誌等。),咱們能夠進行日誌切割,天天的訪問日誌獨立切割出來。瀏覽器
在conf/extra/httpd-vhosts.conf/ 配置文件下進行設定:緩存
<VirtualHost *:80> ServerAdmin lgs@111.com DocumentRoot "/data/wwwroot/111.com" ServerName www.111.com ServerAlias 111.com 123.com SetEnvIf Request_URI ".*\.gif$" img SetEnvIf Request_URI ".*\.jpg$" img SetEnvIf Request_URI ".*\.png$" img SetEnvIf Request_URI ".*\.bmp$" img SetEnvIf Request_URI ".*\.swf$" img SetEnvIf Request_URI ".*\.js$" img SetEnvIf Request_URI ".*\.css$" img ErrorLog "logs/111.com-error_log" CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/111.com-access_%y%m%d.log 86400" common env=!img //%y%m%d以年月日命名,86400秒即1天切割一次。rotatelogs使用apache的切割日誌工具。 </VirtualHost>
瀏覽器訪問網站,獲取的圖片、css等靜態元素會保存在本地電腦緩存文件夾裏,方便下次再此訪問的時候提升訪問速度。咱們也能夠在服務器端設置這些靜態元素的過時時間,能夠減網站的帶寬壓力。服務器
在conf/extra/httpd-vhosts.conf配置文件裏設定:是經過expires模塊實現的。在編譯apache的時候指定了參數mods=most,就會編譯這個模塊進來。(確保在apache的httpd.conf中打開這個so模塊。)app
<IfModule mod_expires.c> ExpiresActive on // 打開該功能的開關 ExpiresByType image/gif "access plus 1 days" //gif類型文件的失效時間是1天 ExpiresByType image/jpeg "access plus 24 hours" ExpiresByType image/png "access plus 24 hours" ExpiresByType text/css "now plus 2 hour" ExpiresByType application/x-javascript "now plus 2 hours" ExpiresByType application/javascript "now plus 2 hours" ExpiresByType application/x-shockwave-flash "now plus 2 hours" ExpiresDefault "now plus 0 min" </IfModule>
能夠根據本身的需求對每種靜態元素類型單獨設置。工具