事情的经过是这样的:

下午下班的铃声已经敲响,我已经整装待发。突然同事说某水司的微信公众号不能正常访问了。点击营业厅,直接提示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日志还是报同样的错误。

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这个负载均衡模块我们在其他客户现场是有使用过的,这次为什么不兼容,还有待进一步探究。

线上IIS应用程序池自动关闭的更多相关文章

  1. 生成线上用https证书,支持通配符和多域名,初学Let’s Encrypt用于IIS,纯本地手动

    自简书发布的上篇<生成本地测试用https证书,支持通配符和多域名,初学OpenSSL>以来,本地测试用https用的妥妥的. 线上一直用的腾讯云的免费证书(每个域名都要一个证书(滑稽), ...

  2. 简述C#中IO的应用 RabbitMQ安装笔记 一次线上问题引发的对于C#中相等判断的思考 ef和mysql使用(一) ASP.NET/MVC/Core的HTTP请求流程

    简述C#中IO的应用   在.NET Framework 中. System.IO 命名空间主要包含基于文件(和基于内存)的输入输出(I/O)服务的相关基础类库.和其他命名空间一样. System.I ...

  3. IIS 应用程序池自动停止

    IIS7 .NET Runtime version 2.0.50727.5420 - 执行引擎错误(000007FEE77AAF0E) (80131506) 装完系统,配置完IIS,发现.NET程序报 ...

  4. TFS线上生成环境发布历程

    继前文 TFS在项目中Devops落地进程(上) TFS在项目中DevOps落地进程(下) 自从之前将开发环境使用TFS进行了自动化之后,就享受在此成果中,其他后续进度就停顿了好一段时间. 毕竟在我们 ...

  5. 什么是IIS应用程序池

    IIS应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置.因为应用程序池中的应用程序与其他应用程序被工作进程边界分隔,所以某个应用程序池中的应用程序不会受到其他应用程序池中应用程序所产 ...

  6. IIS应用程序池监控

    最近发现公司运行的web网站应用程序池会突然停止,做的负载均衡(路由负载)又无法监测到IIS应用程序池的情况,就想着通过某一种监控方式监测IIS应用程序池的情况,如果处关闭状态则立刻重新启动.所说的I ...

  7. 故障公告:IIS应用程序池停止工作造成博客站点无法访问

    非常抱歉,今天凌晨博客站点负载均衡中所有3台服务器的IIS应用程序池突然停止工作,造成 1:20-7:45 左右博客站点无法正常访问,由此给您带来很大的麻烦,请您谅解. 服务器操作系统是 Window ...

  8. IIS应用程序池_缓存回收

    本人最近由于公司业务,需要把问卷的问题和答案存入缓存中已提高问卷加载速度,减少数据库压力. 缓存关键代码(公司代码已做封装,这里只贴出关键代码): HttpRuntime.Cache.Insert(k ...

  9. 转:IIS 应用程序池 内存 自动回收

    原文地址:https://www.cnblogs.com/guohu/p/5209209.html IIS可以设置定时自动回收,默认回收是1740分钟,也就是29小时.IIS自动回收相当于服务器IIS ...

随机推荐

  1. LeetCode 79. Word Search单词搜索 (C++)

    题目: Given a 2D board and a word, find if the word exists in the grid. The word can be constructed fr ...

  2. 不使用xftp上传/下载文件到linux

    yum install lrzsz    # 安装软件 window端上传到linux端: 1. window端先压缩需上传的文件 2. linux端运行命令rz 3. 在弹出的窗口选择压缩好的文件, ...

  3. [LeetCode] 9. Palindrome Number 验证回文数字

    Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same back ...

  4. MySQL实战45讲学习笔记:第一讲

    一.MySQL逻架构图 二.连接器工作原理刨析 1.连接器工作原理图 2.原理图说明 1.连接命令 mysql -h$ip -P$port -u$user -p 2.查询链接状态 3.长连接端连接 1 ...

  5. [LeetCode] 198. House Robber 打家劫舍

    You are a professional robber planning to rob houses along a street. Each house has a certain amount ...

  6. 作业帮:给定一个整数数组,找出其中两个数相加等于目标值(去重set)

    题目描述 给定一个整数数组,找出其中两个数相加等于目标值 输入 [1,3,5,7,9,11] 10 输出 1,9 3,7 代码: import java.util.HashMap; import ja ...

  7. nodejs调用cmd命令

    使用 child_process.exec 实现 child_process即子进程可以创建一个系统子进程并执行shell命令,在与系统层面的交互上非常有用 NodeJS子进程提供了与系统交互的重要接 ...

  8. 虚拟机安装CentOS 7

  9. vuejs怎么和thinkphp结合

    vue在服务端部署时,我们都知道通过npm run build 指令打包好的dist文件,通过http指定是可以直接浏览的,Thinkphp通过域名指向index.php文件才可以浏览.要使前端正常调 ...

  10. js对数组去重的方法总结-(2019-1)

    最近待业在家,系统地学习了一套js的课程.虽然工作时间真的比较长了,但有些东西只局限在知其然而不知其所以然的程度上,有些知识点通过“血和泪”的经验积累下来,也只是记了结果并没有深究,所以每次听完课都有 ...