已接入CDN的网站迁移至Windows实例后访问该站点提示连接被拒绝的解决方法

作者阿里云代理 文章分类 分类:新闻快递 阅读次数 已被围观 1202

问题描述

已接入CDN的网站迁移到另外一台Windows实例之后,该服务器上的所有站点均无法正常访问,访问时提示连接被拒绝。经过检查,发现了下列几点特征:

•该服务器中的443端口正常开启,并且该服务器的负载和带宽没有明显变化。

•该服务器使用宝塔(BT)面板搭建网站。

说明:BT面板默认采用Apache提供Web服务。

•Apache的error_log中存在下列错误信息。

Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting

问题原因

通过Apache的error_log可以判断,该服务器没有线程来处理请求。详情请参见更多信息。

解决方案

阿里云提醒您:

如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。

如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。

如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

请参考下列步骤进行排查。

1.登录该服务器。

2.检查Apacheconf/httpd.conf配置文件中的ThreadsPerChild参数值是否为64。

说明:Windows系统中Apache的ThreadsPerChild参数默认值为64。

3.如果ThreadsPerChild参数值为64,请参考下列内容,修改该参数值为512。

<IfModule mpm_winnt_module>

ThreadsPerChild 512

MaxRequestsPerChild 0

</IfModule>

注意:此处的512并非推荐值,请根据服务器的负载和访问情况进行调整。更多有关该参数的信息,请参见Apache MPM通用指令

4.保存并重启Apache服务。

5.检查网站是否可以正常访问。

更多信息

Windows系统中Apache程序使用mpm_winnt模块,该模块默认的线程数为64。当Web请求数超过该线程数时,Apache将无法正常提供服务。详细内容请参见Apache MPM模块

适用于

•云服务器ECS

•轻量应用服务器

阿里云金牌代理商   阿里云钻石级代理商

本公司销售:阿里云新/老客户,只要购买阿里云,即可享受折上折优惠!>

我有话说: