Apache虛擬目錄日志分割及發布
1、日志分割設置
Apache的日志分割要借助于目前國際上最流行、最通用的日志分割工具cronolog。日志輪循工具cronolog,已經是比較的相當成熟,在不中斷apache服務器的情況下,它能嚴格的按每一天00:00:00-23:59:59來實現日志文件的分割,同時不受apache服務器重啟的影響,安裝配置十分簡單。
第一步 安裝cronolog
首先需要下載和安裝cronolog,可以到http://www.cronolog.org/ 下載最新版本的cronolog。下載完畢以后,解壓安裝即可,方法如下所示:
[root@www tmp]# tar xvfz cronolog-1.6.2.tar.gz [root@www tmp]# cd cronolog-1.6.2 [root@www cronolog-1.6.2]# ./configure [root@www cronolog-1.6.2]# make [root@www cronolog-1.6.2]# make check [root@www cronolog-1.6.2]# make install |
完成cronolog的配置和安裝,默認情況下cronolog是安裝在/usr/local/sbin下。
第二步 配置httpd.conf
在此認為apache服務器安裝在/usr/local/目錄下;修改apache日志配置文件httpd.conf如下所示:
1、設置日志格式定義
把httpd.conf中的以下語句:
LogFormat “%h %l %u %t \”%>s %b \”%{Referer}I\” \%{User-Agent}I\””combine |
改為:
LogFormat “%h %l %u %t \”%>s %b \”%{Referer}I\” \%{User-Agent}I\”” |
2、設置TransferLog命令
CustomLog /usr/local/apache/logs/access_log common |
或是
CustomLog /usr/local/apache/logs/access_log combine |
為
TransferLog “|/usr/local/sbin/cronolog /usr/local/apache/logs/%Y%m%daccess_log” |
備注:
/usr/local/sbin/cronolog 為cronolog安裝后的路徑。
/usr/local/apache/logs/ 為日志分割時候日志保存位置。
如果是有虛擬站點,那么需要對虛擬站點另外單獨設置TransferLog命令,這樣保證不同的虛擬站點的日志保存在不同的位置,也就是說每個虛擬站點都有單獨的日志文件。如下所示,虛擬站點www.abc.com中添加TransferLog命令,保存的日志文件為單獨的文件%y%m%dabcaccess_log。
<VirtualHost xx.xx.xx.xx:80> |
第三步 重新啟動Apache服務器
保存設置,重啟apache服務器,瀏覽網站后,就會在 /usr/local/apache/logs/ 目錄下產生當天對應的虛擬網站日志文件。
2、設置虛擬目錄來發布日志
第一步 打開Apache配置文件httpd.conf,在其中(如果是虛擬主機發布,那么需要在虛擬配置范疇內)添加以下代碼:
Alias /wwwlogs/ "/usr/local/apache/logs/" |
以上的設置把/usr/local/apache/logs/目錄下面的所有日志通過/wwwlogs/ 這個虛擬目錄發布處理。同時這個虛擬目錄禁止除了xxx.xxx.xxx.xxx(網站群流量分析服務器)以外的所有IP地址訪問。
第二步 重新啟動Apache服務器
關鍵字:Apache、虛擬目錄、日志、服務器
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解