apache故障排除全攻略
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Apache服务器故障排除全攻略
分类:服务器技术2007-09-28 17:25 1093人阅读评论(0) 收藏举报apache服务器serv erweb服务cgiurl
随着网络技术的普及、应用和Web技术的不断完善,Web服务已经成为互联网上重要的服务形式之一。原有的客户端/服务器模式正在逐渐被浏览器/服务器模式所取代。本文将重点Apache 服务器的故障排除的技巧。
一、检查配置文件的错误
Apache服务器的设置文件位于/etc/httpd/conf/目录下,传统上使用三个配置文件httpd.conf,access.conf和srm.conf,来配置Apache服务器的行为。在新版本的Apache中,所有的设置都被放在了httpd.conf中,因此只需要调整这个文件中的设置。其中99% Apache服务器错误是配置文件有误。
1 使用apachectl configtest命令
如果配置文件有错误,可以使用apachectl configtest命令,apachectl configtest命令可以检查出所有语法错误和逻辑错误。
实例1
下面是一个配置文件样例片断:
Allow from 192.168.149.
如果黑体部分的错误写成了“
apachectl configtest命令会检查到这个问题,输出如下:
apachectl configtest Syntax error on line 918 of /etc/httpd/conf/httpd.conf:
2 使用服务管理工具
如果配置文件有错误,也可以使用GUI工具来查看。下面是实例1在GUI工具“服务配置“中的体现,如图1 。
图1 使用GUI工具检查错误
二、学会使用错误日志
错误日志是最重要的日志文件,其文件名和位置取决于ErrorLog指令。Apache httpd将在这个文件中存放诊断信息和处理请求中出现的错误,由于这里经常包含了出错细节以及如何解决,如果服务器启动或运行中有问题,首先就应该查看这个错误日志。错误日志是你的朋友。任何错误都会在错误日志中有所记载,所以你应该首先查看它。如果你的网站空间提供者不允许访问错误日志,那么你应该考虑换一个空间提供者。学会阅读错误日志,可以快速找出问题并快速解决。
1 错误日志格式
Apache 默认的错误日志配置如下:
ErrorLog logs/error_log
LogLevel warn
配置错误日志相对简单,只要说明日志文件的存放路径和日志记录等级即可。格式为:
日期和时间错误等级错误消息
2 日志记录等级
下面着重说说日志记录等级,包括八个级别。
1 级英文名称emerg ,出现紧急情况使得该系统不可用,如系统宕机等
2 级alert 英文名称,需要立即引起注意的情况
3 级英文名称crit ,危险情况的警告
4级英文名称error ,除了emerg 、alert、crit 的其他错误
5级英文名称 warn。警告信息
6级英文名称 notice ,需要引起注意的情况,但不如error、warn 重要
7级英文名称 info ,值得报告的一般消息
8级英文名称 debug,由运行于debug 模式的程序所产生的消息
错误日志文件举例
错误日志的格式相对灵活,并可以附加文字描述。某些信息会出现在绝大多数记录中,一个典型的例子是:
[Wed Oct 11 14:32:52 2007] [error] [client 127.0.0.1] client denied by server configuration: /export/home/live/ap/htdocs/test
其中,第一项是错误发生的日期和时间;第二项是错误的严重性,LogLevel指令使只有高于指定严重性级别的错误才会被记录;第三项是导致错误的IP地址;此后是信息本身,在此例中,服务器拒绝了这个客户的访问。服务器在记录被访问文件时,用的是文件系统路径,而不是Web路径。错误日志中会包含类似上述例子的多种类型的信息。此外,CGI脚本中任何输出到stderr的信息会作为调试信息原封不动地记录到错误日志中。用户可以增加或删除错误日志的项。但是对某些特殊请求,在访问日志(access log)中也会有相应的记录,比如上述例子在访问日志中也会有相应的记录,其状态码是403,因为访问日志也可以定制,所以可以从访问日志中得到错误事件的更多信息。
了解错误代码和错误提示
常用的错误响应代码如下:λ
301 :告知用户请求的URL 已经永久的移动到新的URL,用户可以记住新的URL,以便日后直接使用新的URL 进行访问。
302 :告知用户请求的URL 临时的移动到新的URL,用户无需记住新的URL,如果省略错误响应代码,默认就是此值。
303 :告知用户页面已经被替换,用户应该记住新的URL。
401 :授权失败,即密码错误。
403 :Access denied 存取错误,即不可以读取该文件。
404 :File not found 找不到文件。
410 :告知用户请求的页面已经不再存在,使用此代码时不应该使用重定向的URL 参数。
500 :服务器内部错误,可能是Web服务器本身存在问题,也可能是编写的程序出错。
错误消息提示说明λ
“Invalid argument: core_output_filter: writing data to the network” 消