接上篇 linux服务器部署系列之一—Apache篇(上) 
 
四、管理日志文件
Apache日志分为访问日志和错误日志两种:
1)访问日志
用于记录客户端的访问信息,文件名默认为access_log,可以通过参数CustomLog设置日志文件存放的位置和文件名:
CustomLog  logs/access_log  combined
2)错误日志
用于记录Apache在启动和运行时产生的错误,默认为error_log,可以通过参数ErrorLog进行设置:
ErrorLog  logs/error_log
 
1. 日志滚动
1)Rotatelogs
#vi  /usr/local/apache/bin/httpd.conf
将  CustomLog  logs/access_log  combined
改为  CustomLog  “|/usr/sbin/rotatelogs  logs/access_log  172800”  combined
其中,172800单位为秒,即两天。滚动后的日志文件命名为/usr/local/apache/httpd/logs/access_logxxxxxxxxxx。10个x表示的是开始记录日志时的时间距1970年1月1日的秒数。日志每滚一次产生一个新文件,后缀值为前一个日志文件的后缀值加上172800。
2)Logrotate
系统提供了一个日志滚动工具Logrotate,与Crond配合可实现Apache日志滚动。
#vi  /etc/logrotate.conf                //查看logrotate.conf文件
 
在logrotate.conf文件中包含了/etc/logrotate.d目录,在该目录下,可查看httpd文件,内容如下:
#vi  /etc/logrotate.d/httpd
 
Missingok表示如果日志文件丢失则重新生成新的日志文件。Notifempty表示如果日志文件中没有数据,则不滚动。Sharedscripts表示调用日志滚动函数。Postrotate表示日志滚动后,将重启Apache。
在/etc/cron.daily/文件夹下查看logrotate文件,内容如下:
 
由此看出,Logrotate工具由Crond每天运行一次从而实现日志滚动。
 
2. Webalizer日志统计分析工具
1)安装Webalizer
 
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
 
# 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测试,如下:
 
 
五、配置PHP运行环境
为了让PHP支持GD库,我们需要先安装zlib, libpng, freetype,jpeg,GD等组件。
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 image/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进行测试。
 
 
OK,至此Apache的相关部署就已经讲完了。下一篇中,我们将讲解MySQL部署的相关内容,敬请关注。

本文出自 “Tonyguo De博客【知识..” 博客,请务必保留此出处http://tonyguo.blog.51cto.com/379574/168537

Linux服务器部署系列之一—Apache篇(下)的更多相关文章

  1. 转 整理 Linux服务器部署系列之一—Apache篇

    花了差不多一天,参考了几个博客,终于初步配成功了 Apache,先总结一下: 如果apache安装成为linux的服务的话,可以用以下命令操作: service httpd start 启动 serv ...

  2. Linux服务器部署系列之一—Apache篇(上)

    Linux系统的应用越来越广泛了,学习linux系统的网管兄弟也有增加的趋势.很久以前就有些想法,要将自己学的linux知识整理一下.最近,终于下定决心,挤出时间开始动手写些东西了.虽然不一定好,不过 ...

  3. 转 整理 Linux服务器部署系列之一—Apache篇2

    http://www.jb51.net/article/46148.htm 如何查看Apache的连接数和当前连接数 查看了连接数和当前的连接数 netstat -ant | grep $ip:80 ...

  4. Linux服务器部署系列之八—Sendmail篇

    Sendmail是目前Linux系统下面用得最广的邮件系统之一,虽然它存在一些不足,不过,目前还是有不少公司在使用它.对它的学习,也能让我们更深的了解邮件系统的运作.下面我们就来看看sendmail邮 ...

  5. Linux服务器部署系列之七—OpenLDAP篇

    LDAP(轻量级目录访问服务),通过配置这个服务,我们也可以在linux下面使用目录的形式管理用户,就像windows下面的AD一样,方便我们管理.下面我们就一起来配置openldap服务.本文运行环 ...

  6. Linux服务器部署系列之五—Webmin篇

    对于很多习惯使用windows的用户,在刚接触Linux的时候,要使用命令行配置Linux服务器可能会感觉难以适应.今天我们来讲解一下,Linux下的图形配置工具—Webmin,通过这款工具,用户可以 ...

  7. Linux服务器部署系列之四—DHCP篇

    DHCP服务器的配置是Linux服务器配置中最简单的服务之一,网上也有很多相关文档,不过大部分都只是讲解了配置.虽然我这篇文档也不一定很完善,不过我还是希望能够尽量说得明白一些,同时也希望大家能够提供 ...

  8. Linux服务器部署系列之三—DNS篇

    网上介绍DNS的知识很多,在这里我就不再讲述DNS原理及做名词解释了.本篇我们将以一个实例为例来讲述DNS的配置,实验环境如下: 域名:guoxuemin.cn, 子域:shenzhen.guoxue ...

  9. Linux服务器部署系列之二—MySQL篇

    MySQL是linux环境中使用最广泛的数据库之一,著名的“LAMP黄金组合”就要用到MySQL.关于MySQL的优点及作用,我就不多讲了,网上很多这样的文章. 今天我们要谈的是MySQL服务器的部署 ...

随机推荐

  1. as2 针对加载进来的swf操作

    如果加载的子swf,里面的东西会随时发生变化,那么as2获取的子swf宽高也会不停在变动. 解决方法,就是在子swf里面控制设置方法,当as2需要准确获取子swf宽高时,迫使子宽高恢复到原本样子,这样 ...

  2. HibernateTemplate使用注意点

    1.  findByExample(vo) 可轻松根据vo的内部数据作为参数查找数据,vo中的基本类型不能为null,同时不支持主键查找. 2. get(vo.class, id) 根据主键来查找数据 ...

  3. 在eclipse中修改生成的注释类、方法的作者、时间

    1.打开eclipse:windos-->preferences-->Java-->Code Style -->Code Templates-->Types-->点 ...

  4. ios 确定文字所占矩形框大小

    labelFrame.size = [self.label.text sizeWithFont:self.label.font constrainedToSize:CGSizeMake(self.la ...

  5. Hibernate 的事物简单的增删查改

    Hibernate 是一个优秀的ORM框架体现在: 1. 面向对象设计的软件内部运行过程可以理解成就是在不断创建各种新对象.建立对象之间的关系,调用对象的方法来改变各个对象的状态和对象消亡的过程,不管 ...

  6. Java可重入锁与不可重入锁

    可重入锁,指的是以线程为单位,当一个线程获取对象锁之后,这个线程可以再次获取本对象上的锁,而其他的线程是不可以的. synchronized 和   ReentrantLock 都是可重入锁. 可重入 ...

  7. python网络编程——socket基础篇

    python的网络编程比c语言简单许多, 封装许多底层的实现细节, 方便程序员使用的同时, 也使程序员比较难了解一些底层的东西. 1 TCP/IP 要想理解socket,首先得熟悉一下TCP/IP协议 ...

  8. Ansible Playbook Variables

    虽然自动化存在使得更容易使事情重复,但所有的系统可能不完全一样. 在某些系统上,您可能需要设置一些与其他操作略有不同的行为或配置. 此外,一些观察到的远程系统的行为或状态可能需要影响如何配置这些系统. ...

  9. conductor FAQ

    在一段时间后(如1小时,1天等),您如何安排将任务放入队列中? 轮询任务后,更新任务的状态IN_PROGRESS并将其callbackAfterSeconds设置为所需的时间.任务将保留在队列中,直到 ...

  10. VMware-克隆机,网卡修改

    1.克隆 2.修改网卡eth1为eth0 -persistent-net.rules 3.配置ip vim /etc/sysconfig/network-scripts/ifcfg-etho 4.修改 ...