IIS-网站莫名自动重启问题

1 篇文章 0 订阅
1 篇文章 0 订阅

先说下碰到的问题吧:

    在腾讯云上发布了一个.net core网站,网站有个功能是对外开放一个端口,与客户端建立TCP长连接,初始化的方法写在了StartUp类里,在IIS上点击启动,对外开放了端口,客户端长链接建立没问题,但是每隔十多分钟,客户端就会抛出“目标地址拒绝连接”的异常,也就是说服务器关闭了该端口,查看服务器打点日志,发现每隔一会StartUp就会执行一次,即网站会莫名自动重启,具体的windows日志为:“Application 'MACHINE/WEBROOT/APPHOST/***' has shutdown.”,

“Application 'C:\Users\Administrator\Desktop\***' started successfully.”

确认了IIS的网站会自动重启,经过排查发现是IIS的应用程序池回收的机制问题,IIS的默认设置里面,如果一个站点所处的应用程序池超过一段时间没有被访问或者请求,IIS就会自动回收这个程序池,并且把进程杀掉。那进程里面的线程肯定也活不下来了。PS:看样子IIS判断应用程序是否被访问和请求只是要求http协议,使用TCP开放个端口访问不被当做被访问。

最后关闭了IIS的应用程序池自动回收解决了该问题

操作如下:

在IIS中找到这个站点所用的程序池,点击“高级设置...”

在打开的列表中更改以下设置:

回收——固定时间间隔(分钟) 改为 0

        ——虚拟/专用内存限制(KB) 改为 0

进程模型——闲置超时(分钟) 改为 0(我的应该是因为这个选项没调成0)

附上解决该问题参考的文章:https://www.cnblogs.com/hushaojun/p/5016332.html

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTTP 监控程序使用说明(本程序只能用于Win2000/XP,不能用于NT4) 将 HttpMon.exe 复制到硬盘上,并将其添加到Windows的任务计划中,设置为"计算机启动时运行",以administrator 的权限运行。 功能一 定时功能 ------------------------------------------------------------ 可指定每隔几天重启一次计算机或是重启IIS。 若是指定为0天时表示每天重启一次。 功能二 http监控 ------------------------------------------------------------ 1.运行HttpMon.exe 点击"添加"按钮添加监控条件。 a)在"检查链接"里加上用来监控的页面 在state.asp加随意加上一个简单代码,如<%response.write "OK"%> 这样可以检查IIS是否死掉 若要检查链接数据库是否正常还可以把代码写为: <% set db=CreateObject("ADODB.Connection") db.open 数据库链接 db.close %> b)在"检查频率"中可以指定多长时间检查一次,默认是20分钟 c)在返回信息中选择要检查的条件,有几种情况: 返回状态等于,返回状态值不等于,文件大小等于,小于,大于。 "返回状态值" 指IIS返回的客户端时的状态。 200 是正常 302 文件重定向 404 文件找不到 500 服务器内部错误 . . . 默认是:当返回状态不等于200时(表示IIS出错时)重起IIS 当上面情况出现时可做几个对应处理: a)重启计算机 b)重启IIS c)关闭计算机 d)请求页面 "请求页面"可用于扩展程序功能,如通过请求一个程序页面 发信给管理员。 2.因为有时重启IIS不一定成功,所以当上面错误情况出现时,程序会自动缩短检查的隔时间,默认为5分钟。也可以自定义。 当上面操作多次重试都不成功时,还可以设置对应的操作。例如:当重启了3次IIS后还是有错误,这时可以在后面设置为重启计算机 3.关于日志功能 日志功能可以记录Http监控程序的工作情况,他可以记录什么时候检查过什么页面,什么时候出现了错误,对应操作是什么。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值