接上篇 linux服务器部署系列之一—Apache篇(上) 
 
四、管理日志文件<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Apache日志分为访问日志和错误日志两种:

1)访问日志

用于记录客户端的访问信息,文件名默认为access_log,可以通过参数CustomLog设置日志文件存放的位置和文件名:

CustomLog  logs/access_log  combined

2)错误日志

用于记录Apache在启动和运行时产生的错误,默认为error_log,可以通过参数ErrorLog进行设置:
ErrorLog  logs/error_log

 

1. 日志滚动

1Rotatelogs

#vi  /usr/local/apache/bin/httpd.conf

  CustomLog  logs/access_log  combined

改为  CustomLog  “|/usr/sbin/rotatelogs  logs/access_log  <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />172800”  combined

其中,172800单位为秒,即两天。滚动后的日志文件命名为/usr/local/apache/httpd/logs/access_logxxxxxxxxxx10x表示的是开始记录日志时的时间距197011的秒数。日志每滚一次产生一个新文件,后缀值为前一个日志文件的后缀值加上172800

2Logrotate

系统提供了一个日志滚动工具Logrotate,与Crond配合可实现Apache日志滚动。

#vi  /etc/logrotate.conf                //查看logrotate.conf文件

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />Linux服务器部署系列之一—Apache篇(下)

logrotate.conf文件中包含了/etc/logrotate.d目录,在该目录下,可查看httpd文件,内容如下:

#vi  /etc/logrotate.d/httpd

Linux服务器部署系列之一—Apache篇(下)

Missingok表示如果日志文件丢失则重新生成新的日志文件。Notifempty表示如果日志文件中没有数据,则不滚动。Sharedscripts表示调用日志滚动函数。Postrotate表示日志滚动后,将重启Apache

/etc/cron.daily/文件夹下查看logrotate文件,内容如下:

Linux服务器部署系列之一—Apache篇(下)

由此看出,Logrotate工具由Crond每天运行一次从而实现日志滚动。

 

2. Webalizer日志统计分析工具

1)安装Webalizer

Linux服务器部署系列之一—Apache篇(下)
2)配置webalizer工具

(1) # vi  /etc/webalizer.conf

修改以下行:
LogFile  /usr/local/apache/logs/access_log
用来指示配置文件的路径信息,webalizer会将该日志文件作为输入进行统计分析;
OutputDir  /usr/local/apache/htdocs/usage
用来指示生成的统计报表的保存目录。
(2) # vi  /etc/httpd/conf.d/webalizer.conf
Linux服务器部署系列之一—Apache篇(下)
# cp  /etc/httpd/conf.d/webalizer.conf  /etc/httpd/conf/webalizer.conf

(3) # crontab –e

添加以下行:

23 0 * * * ./usr/bin/webalizer  -c  /etc/webalizer.conf

//wq保存退出,该行表示每天23点进行当天的数据流量统计。

(4) # /usr/local/apachectl –k stop              //重启apache

# /usr/local/apachectl –k start

(5) # /usr/local/bin/webalizer  -c  /etc/webalizer.conf

3)测试

输入地址http://127.0.0.1/usage测试,如下:

Linux服务器部署系列之一—Apache篇(下)

 

五、配置PHP运行环境

为了让PHP支持GD库,我们需要先安装zlib, libpng, freetype,jpegGD等组件。
1.
安装zlib 

下载地址:http://www.zlib.net/zlib-1.2.3.tar.gz

 # tar  zlib-1.2.3.tar.gz
 # cd  zlib-1.2.3
 # ./configure  --prefix=/usr/local/zlib
 # make
 # make  install


2.
安装libpng   

 # tar  zxvf  libpng-1.2.18.tar.tar
 # cd  libpng-1.2.18
 # cd  scripts/
 # mv  makefile.linux  ../makefile
 # cd ..
 # make
 # make  install
  
注意,这里的makefile不是用./configure生成,而是直接从scripts/里拷一个


3.
安装freetype   

 # tar  zxvf  freetype-2.3.9 .tar.gz
 # cd  freetype-2.3.9 
 # ./configure  --prefix=/usr/local/freetype
 # make
 # make  install


4.
安装Jpeg 

下载地址:http://www.ijg.org/files/jpegsrc.v6b.tar.gz

  # tar  zxvf  jpegsrc.v6b.tar.gz

  # cd  jpeg-6b/
  # mkdir  /usr/local/libjpeg
  # mkdir  /usr/local/libjpeg/include
   # mkdir  /usr/local/libjpeg/bin
   # mkdir  /usr/local/libjpeg/lib
   # mkdir  /usr/local/libjpeg/man

   # mkdir  /usr/local/libjpeg/man/man1

   # ./configure  --prefix=/usr/local/libjpeg  --enable-shared  --enable-static
   # make

 # make  install
注意,这里configure一定要带--enable-shared参数,不然,不会生成共享库


5.
安装GD 

下载地址:http://www.libgd.org/Downloads

 # tar  zxvf  gd-2.0.35.tar.gz
 # cd  gd-2.0.35
 # ./configure --prefix=/usr/local/libgd --with-png --with-freetype=/usr/local/freetype --with-jpeg=/usr/local/libjpeg

 # make
 # make  install

  

6. 编辑/etc/ld.so.conf,添加以下几行到此文件中。

    /usr/local/zlib/lib

    /usr/local/freetype/lib

    /usr/local/libjpeg/lib

    /usr/local/libgd/lib

执行ldconfig命令,

#ldconfig

使用动态装入器装载找到共享库

 

7. 安装libxml

下载地址:ftp://xmlsoft.org/libxml2/libxml2-2.6.32.tar.gz
      # tar  zxvf  libxml2-2.6.32.tar.gz
      # cd  libxml2-2.6.32

      # ./configure
      # make
      # make  install

 

8. 安装PHP

PHP下载地址:http://www.php.net/downloads.php

# tar  zxvf   php-5.2.9.tar.gz
# cd  php-5.2.9
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-gd=/usr/local/libgd --enable-gd-native-ttf --with-ttf --enable-gd-jis-conv --with-freetype-dir=/usr/local/freetype --with-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr --with-zlib-dir=/usr/local/zlib --enable-xml                            --enable-mbstring  --enable-sockets

# make

# make  install

# cp  php.ini-recommended  /usr/local/php/lib/php.ini

# ln s  /usr/local/php/bin/*  /usr/local/bin/

 

9. 配置Apache

# vi  /usr/local/apache/conf/httpd.conf

查找AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz

在其下加入 AddType application/x-tar .tgz

AddType application/x-httpd-php .php

AddType p_w_picpath/x-icon .ico

修改DirectoryIndex 行,添加index.php

修改为DirectoryIndex  index.php  index.html

 

10. 测试

# vi  /usr/local/apache/htdocs/test.php

添加以下行:

 <?php       

 Phpinfo();

?>

# /usr/local/apache/bin/apachectl k stop

#/usr/local/apache/bin/apachectl k start

在浏览器中输入:http://192.168.99.9/test.php进行测试。

 Linux服务器部署系列之一—Apache篇(下)

 

OK,至此Apache的相关部署就已经讲完了。下一篇中,我们将讲解MySQL部署的相关内容,敬请关注。