🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 经常问到的问题 这个FAQ的最新版本总是可以从Apache主站点得到,位于<[http://httpd.apache.org/docs/2.2/faq/](http://httpd.apache.org/docs/2.2/faq/)> 如果你的问题在这里没有找到答案,你也可以看看[Apache 1.3 FAQ](http://httpd.apache.org/docs/misc/FAQ.html) ,看你的问题是否在那里有了答案。 ## 主题 [背景](#calibre_link-933) 关于 Apache HTTP Server 的背景知识。 [支持](#calibre_link-934) 我遇到问题该怎么办? [错误信息](#calibre_link-935) 这些错误信息是什么意思? ## 背景 * [什么是Apache ?](#calibre_link-936) * [什么是 Apache HTTP Server ?](#calibre_link-937) * [Apache是如果进行充分测试的?](#calibre_link-938) * [我可以在我的产品或网站中使用Apache的logo吗?](#calibre_link-939) ### 什么是Apache ? Apache软件基金会(ASF)是一个非营利性组织,它为Apache社区的开源软件项目提供支持。欲知详情,请查看[Apache Software Foundation FAQ](http://www.apache.org/foundation/faq.html)页面。 Apache HTTP Server(也被称为Apache httpd)是Apache软件基金会的一个创建健壮的、工业级的、功能强大的、开放源代码的HTTP(Web)服务器的项目。欲知详情,请查看[About Apache](http://httpd.apache.org/ABOUT_APACHE.html)页面。 ### 什么是 Apache HTTP Server ? * 一个强大的、灵活的、兼容HTTP/1.1规范的web服务器 * 实现了最新的协议,包括HTTP/1.1(RFC2616) * 具有高度的可配置性和使用第三方模块的可扩展性 * 可以通过使用Apache模块API编写自己的模块进行定制 * 在[非限制性许可证](http://www.apache.org/licenses/LICENSE-2.0)下提供所有的源代码 * 可以运行在 Windows 2003/XP/2000/NT/9x 、Netware 5.x 及以上版本、OS/2 、大多数Unix版本以及其它操作系统上 * 被非常活跃的进行开发 * 鼓励用户反馈新想法、bug报告、补丁程序 ### Apache是如果进行充分测试的? Apache正在数以百万的网络服务器上运行。它同时经过开发者和用户的充分测试。Apache HTTP Server 项目按照非常严格的标准发布服务器的新版本,并且有70%的WWW服务器在24小时不间断地运行着我们的服务器。一旦有bug被发现,我们将以最快的速度发布补丁程序和新版本。 ### 我可以在我的产品或网站中使用Apache的logo吗? _不可以_使用、复制、修改任何来自Apache软件基金会的原始图形。除非满足以下条件: * 你可以在一个使用Apache作为web服务器的网站上使用['Powered by Apache'图标](http://httpd.apache.org/docs/apache_pb.gif)。 * _当且仅当_这种使用可以促进Apache的推广时,你才可以在产品描述中使用上述['Powered by Apache'图标](http://httpd.apache.org/docs/apache_pb.gif)或[Apache软件基金会logo](http://www.apache.org/images/asf_logo.gif) 。严格禁止将Apache的名称或图形用于产品的签名或者服务。 ## 支持 * ["我为什么不能...?为什么...不工作?"在有问题的情况下该怎么办?](#calibre_link-940) * [我要找谁寻求帮助?](#calibre_link-941) ### "我为什么不能...?为什么...不工作?"在有问题的情况下该怎么办? 如果你使用Apache服务器软件遇到了问题,采取以下几步: 检查错误日志! Apache服务器在遇到问题时会尽力做到对你有所帮助。在许多情况下,它会通过在错误日志中写入一条或多条消息来提供一些细节。有时这已经足够让你自己诊断和解决问题了(比如文件权限或类似的问题)。错误日志的默认位置在`/usr/local/apache2/logs/error_log` ,但是最后还是看看配置文件中的`ErrorLog`指令以确认错误日志在你服务器上的确切位置。 再一次检查错误日志! 几乎所有问题都可以通过阅读错误日志来解决。 察看[FAQ](http://httpd.apache.org/docs/2.2/faq/)! 最新版本的Apache常见问题列表总是可以从Apache主站点得到。 察看Apache bug数据库 大多数报告给Apache项目组的问题都记录在[bug数据库](http://httpd.apache.org/bug_report.html)中。在你添加一个新bug之前,请**务必**检查已有的报告(打开的**和**关闭的)。如果你发现你的问题已经被报告了,请_不要_添加一个"我也是"那样的报告。如果原始报告还没有关闭,我们建议你经常周期性地来看看它。你也可以考虑与最初的提交者接触,因为有可能会在邮件交流中发现没有记录在数据库中的问题。 在某个用户论坛中提问 Apache拥有一个活跃的、愿意共享知识的用户社区。参与这个社区通常是获得解答的最快最好的办法。 [用户邮件列表](http://httpd.apache.org/userslist.html) [Freenode IRC](http://freenode.net)上的[#apache](irc://irc.freenode.net/#apache)频道也是关于用户支持的。 提交问题报告到bug数据库 如果做了以上几个合适的步骤而没有得到解答,那么请_务必_让httpd的开发者了解这个问题,到这里[提交bug报告](http://httpd.apache.org/bug_report.html)。 如果你的问题涉及到服务器崩溃并产生了内核dump,请在报告中[包含一个backtrace](http://httpd.apache.org/dev/debugging.html)(如果可能)。 ### 我要找谁寻求帮助? 因为有数百万用户和区区不到60名志愿开发者,我们无法为Apache提供个体支持。对于免费的支持,我们建议用户参与一个[用户论坛](#calibre_link-942)。 Apache的专业商业支持可以从[许多公司](http://www.apache.org/info/support.cgi)得到。 ## 错误信息 * [Invalid argument: core_output_filter: writing data to the network](#calibre_link-943) * [AcceptEx failed](#calibre_link-944) * [Premature end of script headers](#calibre_link-945) * [Permission denied](#calibre_link-946) ### Invalid argument: core_output_filter: writing data to the network Apache在可能的平台上使用系统调用`sendfile`来加速响应的发送。不幸的是,在某些系统上,Apache会在编译时检测`sendfile`的存在,即使它不能正常工作。这经常发生在使用网络或其他非标准文件系统时。 这个问题的表现症状包括上述信息出现在错误日志里及对于非零长度文件请求发送零长度的响应。一般这个问题只发生在静态文件上,因为动态文件通常用不到`sendfile` 。 要修正这个问题,可用`EnableSendfile`指令关闭服务器所有部分对`sendfile`的使用即可。同时参看`EnableMMAP`指令,对相似的问题有帮助。 ### AcceptEx Failed 如果你在win32系统上得到一个与`AcceptEx`系统调用相关的错误信息,参见`Win32DisableAcceptEx`指令。 ### Premature end of script headers 大多数导致这个错误的CGI脚本问题将会向浏览器发送一个"`Internal Server Error`"错误信息。要解决这种问题参见:[CGI指南](#calibre_link-947)。 ### Permission denied `error_log`中的"`Permission denied`"错误伴随一个发送到客户端的"`Forbidden`"信息通常表明违反了文件系统的权限,而不是Apache HTTP的配置文件出了错误。检查并确认用于运行子进程的`User`和`Group`有访问导致问题的文件的足够权限。同时检查一下导致问题的文件所在的目录及其所有父目录是否具有执行(搜索)权限(也就是 `chmod +x`)。 最近发行的 Fedora Core 和其它Linux发行版使用了SELinux进行额外的访问控制,违反这些限制也会导致"`Permission denied`"消息。参见[Fedora SELinux FAQ](http://fedora.redhat.com/docs/selinux-faq-fc3/)和[Apache SELinux Policy Document](http://fedora.redhat.com/docs/selinux-apache-fc3/)以获得更多信息。