我是一个pipe理Web服务器的初学者。 我正在尝试学习如何解决在运行IIS 7.5的.NET 4.0 MVC网站的Windows Server 2008 R2中的一个问题。
我pipe理的网站已经在GoDaddy共享主机scheme上运行了好几个月。 网站的最后一次代码更新大约在6个星期前。 几天前,该网站停止工作,从一分钟到下一个。 从字面上看,这更像是下一秒的一秒钟。 其中一个网站pipe理员加载了一个页面,点击了一个链接,下一个页面从未加载过。 从此以后一直在下降。
我花了约。 在4个不同的GoDaddy技术人员的电话上5个小时。 每次他们确定这是在网站编程的东西。 (我们有两个人可以访问该站点的FTP,当它停止工作时,我们都在上class的路上。)
为了testing它,我发布了网站到我们的内部开发服务器,它的工作。 然后我重新发布到GoDaddy共享主机,它仍然没有工作。
主要的问题是网站加载和加载,永远不会出现。
我想也许我会尝试另一个主机,所以我已经在Rackspace(Win 2K8 R2)上安装了一个Windows VM服务器,安装了IIS 7.5,并build立了一个基本的站点。 如果我将一个基本的index.html文件加载到文件夹中,我可以在Web服务器本地和我的办公室公开地看到“Hello world”消息。
但是,只要我将ASP.NET内容加载到文件夹中,我就再次遇到连续加载问题。
正如我之前所说,在内部的开发服务器(这也是Win 2K8 R2 W / IIS 7.5)的网站工作正常。 目前,我已将主域redirect到我的办公室IP,创build了一些防火墙规则来转发数据包,并成功从dev服务器托pipe网站。 但这不是一个长期的解决scheme。
我花了几个小时在网上寻找解决scheme,并尝试了很多事情。 但我没有必须解决像这样的虚拟主机问题,我没有得到任何明显的错误消息。 我正在寻找方法来解决这个问题,在IIS中,或者find错误消息或日志,或者可能指向我的问题。 但是我缺乏pipe理Web服务器的知识正在被阻碍。
谢谢!
上周我终于解决了这个问题。
有一个configuration文件是我们的Web应用程序的一部分,它需要IIS的读/写权限。 在GoDaddy的共享主机帐户上,权限已被删除,原因不明。 当我们将应用程序加载到testing服务器上时,我基本上忘了我们必须在新服务器上重置这些权限。 在我们的内部开发服务器上,权限已经configuration在项目开始的时候。
在Rackspace启动的testing服务器上,我将“IIS_IUSRS”的“完全控制”添加到文件所在的父目录。 在GoDaddy共享主机帐户,我进入文件pipe理器,并设置目录上的Web读/写权限。
编码问题是因为文件正在被Web应用程序使用的库访问,所以错误没有被正确处理。 如果连续发生的错误太多,IIS可以在一定条件下进入该连续加载状态。
我把这个网站剥离成了一片空白,并开始逐个添加依赖关系。 那么当错误发生的时候,系统并没有那么深,所以我开始真正获得有用的事件日志。 这就像问题非常深刻,它创build了一个完全不稳定的应用程序,甚至没有正确报告错误。
我会去尝试从一个Web服务器导出到另一个Web站点,然后检查.net版本,应用程序池(包括框架)。 如果这样做不起作用,可以让stream程黑客或其他工具来了解可能需要这么多资源的一些洞察 – IE某些方法可能需要数百万个CPU周期。如果所有这些都无法正常工作,请查看专业IIS 7优化或testing如果是使用IE Tester,JMeter的性能,看看有什么内容需要花费那么多的时间,然后试着乐观一些。