已接入CDN的网站迁移至Windows实例后访问该站点提示连接被拒绝的解决方法
问题描述
已接入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
•轻量应用服务器
我有话说: