1. 说明
本文系我的"Web Server & Web Technology (WSWT)系列博客之一,主要讲解Linux系统的Apache配置和使用,以及如何使用apache搭建自己的个人网站".该系列博客的总目录参见这里http://blog.csdn.net/u014303046/article/details/73694983.
2. 准备工作
当按照上一个教程在ubuntu系统安装好Apache之后,就可以来探索一下Apache的配置了。
如果你使用Docker,那么首先需要从你之前保存的镜像(从源码安装好apache的镜像)运行一个容器:
sudo docker run -ti --name web2 -p 80:80 -p 443:443 apache:v1.0 bash
进入之后启动:
cd /etc/apache2/server_root/bin/
./apachectl start
如果你使用自己购买的服务器或者自己的笔记本电脑,直接启动就好了。
我还是建议大家使用Docker学习本教程,因为后面的负载均衡等内容需要至少3个服务器,买3个服务器或者自己有3台电脑都是有点浪费的。
3. Apache Log文件探索
作为一个web服务器,Apache的主要作用是监听http请求(Request)并做出响应(Response)。Apache的作用之一是记录这些请求和回应。此外,Apache也会记录一些突发状况比如错误,debug信息和警告等。
LogLevel
LogLevel是用来明确日志级别的。
LogFormat和CustomLog是用来控制apache acess log 的2个主要命令。
LogLevel通过httpd.conf里的LogLevel指定级别:
ErrorLog
指定ErrorLog的位置。在httpd.conf文件里指定。默认位置是“/etc/apache2/server_root/logs/error_log”
/etc/apache2/server_root/logs目录下的内容如下:
ErrorLogFormat
ErrorLogFormat允许管理员指定记录一些额外的信息。
一个简单的例子
ErrorLogFormat “[%t] [%l] [pid %P] %F: %E: [client %a] %M”
ErrorDocument
指定出错时返回的页面,把httpd.conf的对应位置去掉注释之后可以指定自定义的404等的返回页面:
CustomLog
用来记录服务器的request。可以通过LogFormat指定格式。
举例CustomLog with format nickname
LogFormat "%h %l %u %t \"%r\" %>s %b" common CustomLog logs/access_log common
CustomLog with explicit format string
CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b"