技术开发 频道

Apache服务器故障排除攻略

(2)查看已经被编译的模块

使用httpd -l命令,
httpd -l Compiled in modules: core.c prefork.c http_core.c mod_so.c

    说明:被编译的模块中包含mod_so.c,表示当前的Apache 支持Dynamic Shared Objects(DSO),即用户可以在不重新编译Apache 的情况下使用APache eXtenSion(apxs)编译Apache 的第三方模块。被编译的模块中包含prefork.c 表示Red Hat 发布的Apache 是使用预派生(Profork)MPM 模式运行的。


三 解决Apache 服务器故障的步骤

1 检查错误日志!
 
    Apache服务器在遇到问题时会尽力做到对你有所帮助。在许多情况下,它会通过在错误日志中写入一条或多条消息来提供一些细节。有时这已经足够让你自己诊断和解决问题了(比如文件权限或类似的问题)。错误日志的默认位置在/usr/local/apache2/logs/error_log ,但是最后还是看看配置文件中的ErrorLog指令以确认错误日志在你服务器上的确切位置。

2 再一次检查语法

    Apache 配置文件是httpd.conf 长度通常在80-990行,几乎99%Apache 故障是语法错误引起的。可以手工检查/etc/httpd/conf/httpd.conf,也可以通过浏览器输入:http://192.168.1.12/server-info?config 获取当前配置文件,如图3 。


图3 当前Apache服务器配置文件

说明:此时系统会自动添加行号。

3 察看Apache的FAQ!

    最新版本的Apache常见问题列表总是可以从Apache主站点得到,http://httpd.apache.org/docs/2.2/faq/

4 察看Apache bug数据库

    大多数报告给Apache项目组的问题都记录在bug数据库中。在你添加一个新bug之前,请务必检查已有的报告(打开的和关闭的)。如果你发现你的问题已经被报告了,请不要添加一个"我也是"那样的报告。如果原始报告还没有关闭,我们建议你经常周期性地来看看它。你也可以考虑与最初的提交者接触,因为有可能会在邮件交流中发现没有记录在数据库中的问题。

5 在某个用户论坛中提问

    Apache拥有一个活跃的、愿意共享知识的用户社区。参与这个社区通常是获得解答的最快最好的办法。
    Apache用户邮件列表:http://httpd.apache.org/userslist.html

6 提交问题报告到bug数据库

    如果做了以上几个合适的步骤而没有得到解答,那么请务必让httpd的开发者了解这个问题,到这里(http://httpd.apache.org/bug_report.html )提交bug报告。

7 获取商业支持

    可以从下面的网址获取商业网站服务商的技术支持:http://www.apache.org/info/support.cgi

8 了解Apache服务器的网络资源的相关文档

    Apache 服务器是使用最广泛的web服务器,它的版本很多。从以下的网络资源中可以获取大量有用的提示可以帮助您快速解决故障和建立web服务。
通用Apache文档:http://httpd.apache.org/docs-2.0
Apache FAQ:http://www.apache.org/foundation/faq.html
1.3 版本FAQ:http://httpd.apache.org/docs/misc/FAQ.html
邮件列表:http://httpd.apache.org/userslist.html
红帽企业版 Linux 5 部署指南:
http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/zh-CN/Deployment_Guide/index.html

0