欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

线上IIS应用程序池自动关闭

程序员文章站 2022-05-03 22:30:08
安装WebPlatformInstaller_x64_en-US,导致了IIS应用被访问时,应用程序池自动关闭的问题。 ......

事情的经过是这样的:

下午下班的铃声已经敲响,我已经整装待发。突然同事说某水司的微信公众号不能正常访问了。点击营业厅,直接提示service unavailable

立马远程服务器查看,iis微信公众号所在应用程序池停止运行啦。再次启动后,点击营业厅仍然返回service unavailable,应用程序池再次停止运行。

这时另外一个同事说,他在这台服务器上安装了webplatforminstaller_x64_en-us要做负载均衡。安装之后出现了应用程序池自动关闭的问题,但是已经卸载了,还是会自动停止。

现在问题明确了,安装webplatforminstaller_x64_en-us,导致了iis应用被访问时,应用程序池自动关闭的问题。

1. 查看windows系统日志

模块 dll c:\windows\system32\inetsrv\rewrite.dll 未能加载。返回的数据为错误信息。

webplatforminstaller_x64_en-us安装是用来做负载均衡的,所以确实会安装rewrite.dll,但是webplatforminstaller_x64_en-us已经卸载了,为什么还要去找rewrite.dll呢。重新安装webplatforminstaller_x64_en-us,这次对应路径下有rewrite.dll了,但是windows日志还是报同样的错误。

线上IIS应用程序池自动关闭

2. rewrite_amd64重装

iis本身是具备url重写功能的,因此推测应该是,webplatforminstaller_x64_en-us所安装替换的rewrite.dll与iis不兼容导致的。于是再次卸载webplatforminstaller_x64_en-us,并下载安装rewrite_amd64(iis url rewrite module 2.0),至此问题解决。

总结

1.遇到问题一定要透过现象看本质,通过各种日志及环境变化,定位问题,不能局限于问题表现。

2.webplatforminstaller_x64_en-us这个负载均衡模块我们在其他客户现场是有使用过的,这次为什么不兼容,还有待进一步探究。