如何解决Web服务器?

注意:这是被问到的,不是因为这是一个好问题(我个人认为不是),而是因为我注意到这里的很多问题都归结为这个问题,而且因为我厌倦了downvoting并在解释基本(服务器无关)故障排除的注释中给出表单响应。

换句话说,如果有人把你和这个问题联系起来了,那么你对系统pipe理和新手的一个新的错误是不熟悉的(没关系;我们对事物都是陌生的,并且对那些忘记它的人提出了一些愚蠢的问题喜欢新东西),或者你已经做了一段时间,你只是无能(苛刻,但有时真相伤害)。

这个问题的答案应该提到特定的networking服务器指令。 最多提供一些关于在不同的常见操作系统类(Windows,Linux,OS X和BSD)下如何进行操作的信息。 而已。 所以,没有具体的apache或mojolicious或任何Web服务器正在使用中。

…无论如何,没有进一步的…

我在Y平台上设置了Web服务器X,并尝试访问主页,但没有加载。 是什么赋予了? 怎么回事/我怎样才能找出问题所在?

要记住的最重要的事情是:

  • 如果它是服务器的默认configuration,则可能不是 Web服务器代码本身或操作系统的问题。 这很可能与networking有关。 它可能不是,但是这使我们到了第2点…
  • 你的时间是宝贵的。 在排除故障时,您应该始终检查最容易检查和修复的事项。 如果这个问题真的出现在Apache / nginx / lghttpd / node.js /的代码库中,那么试图解决这个问题几乎肯定会花费几周的时间。 假设你已经知道一些编程语言。 否则,可能需要6个月到半年的时间。 如果是操作系统,那么…假设它不是操作系统。 最起码到现在。
  • 我们的时间也是有价值的。 如果你不知道一个术语,那么google。 如果你find解释这个术语的资源,太棒了! 在这里添加链接。 不要问一个问题,直到你至less检查谷歌和维基百科。
  • 你有可能是计算机新手,所以这是一个单挑:计算是关于阅读大量的技术英文文本。 手册,教科书,教程,手册,手册和其他手册。 如果这对你来说听起来很糟糕,那你的行业就是错误的。 你不得不阅读几万页用英文书写的文件,以达到基本的能力水平。 要解决你现在遇到的任何问题,你必须做很多的事情,然后仔细阅读。 这并不罕见。 如果这件事对你来说听起来很糟糕,那么你的行业就是错误的。 这里有一个更深入的文章来帮助你弄清楚计算是否适合你。

现在…

操作系统不可知的故障排除

尝试连接到网站时有很多事情可能会出错。

  • 如果您使用的是域名(例如,可读的名称,如example.commalware.info ),则问题可能在DNS中。 因此,请检查您的域使用像dig一样的东西parsing到您的服务器在DNS下的IP地址。

  • 一旦你确定DNS不是问题,确保ping提供的IP地址是成功的,或者至lessIP地址实际上与你试图访问的机器相关联的(通过login到服务器的控制台检查NIC地址)。

  • 确保networking服务器的服务正在运行。 很多networking服务器不会默认运行; 你必须真正开始他们。 这是一件好事,因为它确保服务器在您确定configuration正确之前不会启动。

  • 确保networking服务器正在以您希望的方式监听TCP端口80(大多数操作系统提供了一种简单的方法来检查哪些端口正在被监听,哪些服务正在监听这些端口)。 值得注意的是,默认情况下,许多web服务器安装将运行在其他一些端口用于testing目的(例如8080,80801等)。 如果Web服务器正在运行但不在端口80上侦听,则需要检查服务器的文档。 具体来说,您可能需要检查服务器的“入门指南”,并查看是否说明了有关端口分配的任何信息。 大多数服务器都有一部分叫做“入门”或者“快速入门”的文档或者其他的东西(如果作者冒险的话,可能会被称为“潜入<服务器名字>”),而且通常在开头文档。

  • 检查防火墙规则,并确保它们不阻止访问Web服务器(Web服务器通常在TCP端口80上运行,因此您需要确保这是明确允许的,并且是防火墙中的第一条规则)。 如果您不确定是否可能是防火墙,暂时禁用防火墙并尝试连接禁用的防火墙是值得的。 一旦你确定它防火墙,你应该再次联机防火墙,并调整规则组,直到事情的工作。 简单地将防火墙closures是比较容易的,但这也是一个非常糟糕的主意。

特定于O / S的故障排除

Linux的

// 去做

视窗

// 去做

OS X

// 去做

BSD

// 去做