1. 程式人生 > >CentOS7.4—Apache優化應用二(日誌管理)

CentOS7.4—Apache優化應用二(日誌管理)

Apache優化應用(日誌管理)

Apache優化應用二(日誌管理)
目錄
第一部分 準備工作
第二部分 安裝Apache服務
第三部分 日誌管理一(配置日誌分割)
第四部分 日誌管理二(配置Awstats日誌分析軟件)

第一部分 準備工作
一:服務器:Linux系統—CentOS 7.4;
IP地址:192.168.80.10
技術分享圖片
客戶端:以WIN7為例,測試驗證結果,與服務器在同一網段;
IP地址:192.168.80.2

二:準備壓縮包
技術分享圖片
//apr-1.6.2.tar.gz和apr-util-1.6.0.tar.gz是httpd2.4以後的版本所需要的插件,必須安裝

三:將防火墻與selinux關閉
技術分享圖片

第二部分 安裝Apache服務
一:安裝編譯工具與插件

[root@localhost ~]# yum -y install \

gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl

二:解壓:
[root@localhost ~]# tar xf apr-1.6.2.tar.gz
[root@localhost ~]# tar xf apr-util-1.6.0.tar.gz
[root@localhost ~]# tar xf httpd-2.4.29.tar.bz2
[root@localhost ~]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost ~]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

三:配置(自定義個性化配置)
[root@localhost ~]# cd httpd-2.4.29 //必須進入安裝目錄下
[root@localhost httpd-2.4.29]# ./configure \

--prefix=/usr/local/httpd \ //指定將httpd程序安裝到/usr/local/httpd目錄下
--enable-so \ //啟用動態加載模塊功能
--enable-rewrite \ //啟用網頁地址重寫功能,用於網站優化及目錄遷移
--enable-charset-lite \ //啟用字符集支持,以便支持使用各種字符集編碼的網頁

--enable-cgi //啟用CGI腳本程序支持,便於擴展網站的應用訪問能力

四:編譯及安裝
[root@localhost httpd-2.4.29]# make && make install

//將httpd服務添加到系統服務
[root@localhost httpd-2.4.29]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@localhost httpd-2.4.29]# vi /etc/init.d/httpd
添加以下兩行(註意,“#”不能省略):
技術分享圖片
保存退出

[root@localhost httpd-2.4.29]# chkconfig --add httpd //將httpd加入到SERVICE管理器
[root@localhost httpd-2.4.29]# systemctl daemon-reload //重載系統系統管理器

五:編輯httpd主配置文件
[root@localhost httpd-2.4.29]# vi /usr/local/httpd/conf/httpd.conf
修改以下內容:
ServerName localhost
保存退出
//優化執行路徑(執行程序文件的原路徑不在PATH環境變量中,做個軟鏈接使其可以執行)
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

//檢查語法錯誤
[root@localhost httpd-2.4.29]# httpd –t
或者:[root@localhost httpd-2.4.29]# apachectl –t
技術分享圖片
//查看程序版本
技術分享圖片

六:啟動服務
[root@localhost httpd-2.4.29]# systemctl start httpd
[root@localhost httpd-2.4.29]# systemctl enable httpd //將httpd設為開機啟動
[root@localhost httpd-2.4.29]# netstat -anpt | grep 80 //查看httpd服務運行狀態
技術分享圖片

七:驗證
用WIN7客戶端訪問服務器
瀏覽器訪問:http://192.168.80.10
技術分享圖片
驗證成功
(註意,網頁默認顯示內容為:/usr/local/httpd/htdocs/index.html)
技術分享圖片

第三部分 日誌管理一(配置日誌分割)
[root@localhost logs]# cd /usr/local/httpd/logs/ //Apache默認日誌路徑
技術分享圖片
一:以下配置日誌分割:
[root@localhost ~]# vi /etc/httpd.conf //進入http主配置文件

  1. 錯誤日誌配置
    技術分享圖片
    //通過管道把日誌交給rotatelogs工具 -l指使用本地時間 86400表示日誌分隔的間隔為1天,單位是秒
    保存退出
    [root@localhost ~]# apachectl –t //檢查語法錯誤
    技術分享圖片 //沒有錯誤
  2. 正確日誌配置
    [root@localhost ~]# vi /etc/httpd.conf
    技術分享圖片
    [root@localhost ~]# systemctl start httpd //重啟服務

三:驗證,win7下訪問Apache網頁,然後查看日誌信息
技術分享圖片
//分割成功(註意:日誌只有當訪問之後才會產生,該錯誤日誌是操作錯誤產生,如果無錯誤,則不顯示)

第四部分 日誌管理二(配置Awstats日誌分析軟件)
註意:awstats不支持分析分割日誌,如果日誌已分割,需修改回來
[root@localhost logs]# vi /etc/httpd.conf
技術分享圖片
技術分享圖片
保存退出

一:加載cgi模塊
[root@localhost ~]# apachectl -D DUMP_MODULES | grep cgi //確認是否加載了cgi模塊
[root@localhost ~]# ls /usr/local/httpd/modules/ | grep cgi //確認是否編譯過cgi模塊
技術分享圖片
//如圖所示,沒有加載cgi模塊,但是編譯過cgi模塊
[root@localhost ~]# vi /usr/local/httpd/conf/httpd.conf //手動加載
添加以下內容:
LoadModule cgid_module modules/mod_cgid.so
LoadModule cgi_module modules/mod_cgi.so
技術分享圖片
保存退出
[root@localhost ~]# tar xzvf awstats-7.6.tar.gz //解壓awstats軟件
[root@localhost ~]# mv awstats-7.6 /usr/local/awstats //創建配置目錄

二:搭建DNS服務(此處直接修改hosts文件,等同於搭建DNS服務)

  1. 服務器上修改:
    [root@localhost ~]# vi /etc/hosts
    最後添加:
    192.168.80.10 www.aa.com
    退出保存
  2. Win7下修改:
    路徑C:\Windows\System32\drivers\etc
    以記事本打開hosts文件,最後加上一行:192.168.80.10 www.aa.com,保存退出
    技術分享圖片

三:AWstats同時分析多個站點的數據

  1. 修改主機名
    [root@localhost ~]# vi /etc/httpd.conf //編輯Apache主配置文件
    ServerName www.aa.com //定義主機名
    保存退出
    [root@localhost ~]# grep "ServerName" /etc/httpd.conf //查看修改成功了沒
    技術分享圖片
  2. 編輯awstats配置腳本
    [root@localhost ~]# cd /usr/local/awstats/tools/
    [root@localhost tools]# ./awstats_configure.pl //自動配置腳本,根據提示填寫
    技術分享圖片
    技術分享圖片
    技術分享圖片
    技術分享圖片
    之後回車完成
    [root@localhost tools]# systemctl restart httpd //重啟http服務讓日誌格式生效
  3. 編輯awstats程序的主配置文件
    [root@localhost tools]# vi /etc/awstats/awstats.www.aa.com.conf //修改程序的主配置文件
    LogFile="/usr/local/httpd/logs/access_log" //修改日誌文件位置
    DirData="/var/lib/awstats" //手動建立每次抓取的數據存放位置
    保存退出
  4. 創建awstats數據日誌文件
    [root@localhost tools]# mkdir /var/lib/awstats //創建數據文件
    [root@localhost tools]# systemctl restart httpd
    //如果之前修改過日誌格式需要清空一下
    [root@localhost tools]# cd /usr/local/httpd/logs/
    [root@localhost logs]# rm -f *log
    [root@localhost logs]# systemctl restart httpd
    [root@localhost logs]# cd /usr/local/awstats/tools/
    [root@localhost tools]# chmod +x awstats_updateall.pl
    [root@localhost tools]# ./awstats_updateall.pl now //手動采集一次數據
  5. 做周期性計劃任務
    [root@localhost tools]# crontab –e
    /5 * /usr/local/awstats/tools/awstats_updateall.pl now //每五分鐘手動采集一次
    技術分享圖片
    [root@localhost tools]# systemctl status crond
    技術分享圖片
    [root@localhost tools]# systemctl enable crond
    [root@localhost tools]# systemctl list-unit-files | grep crond
    技術分享圖片
  6. 檢查虛擬目錄授權
    [root@localhost tools]# vi /etc/httpd.conf
    文件最後,添加以下內容
    技術分享圖片
    保存退出
    [root@localhost tools]# systemctl restart httpd //重啟服務

四:驗證
win7下瀏覽器訪問
http://192.168.80.10/awstats/awstats.pl?config=www.aa.com //訪問測試日誌系統工作情況
技術分享圖片

五:通過配置頁面自動跳轉優化統計頁面訪問
[root@localhost ~]# vi /usr/local/httpd/htdocs/index.html
<html>
<head>
<meta http-equiv=refresh content="0;url=http://www.aa.com/awstats/awstats.pl? config=www.aa.com"> //跳轉,當訪問www.aa.com時,跳轉到分析系統中
</head>
<body></body>
</html>
技術分享圖片
保存退出
[root@localhost ~]# service httpd restart //重啟http服務

六:win7下瀏覽器訪問 www.aa.com
技術分享圖片
註意:服務器如果沒做dns的話,必須服務器和客戶端上都修改hosts文件

CentOS7.4—Apache優化應用二(日誌管理)