你遇到过以下问题吗?
访问网站时报错“无法访问本网站”,没有错误状态码?
突然网站无法访问,出现异常代码4XX?
网站访问非常慢。估计是数据库连接数吧?
网站无法访问的原因有很多,甚至是花哨的。如何才能找出原因,解决问题?一起看看吧~
某些网站无法访问的常见原因和一般故障排除思路
(PS:本文针对无法访问的云服务器网络,云下的思路也可以借鉴)
场景1:无错误状态代码
对调查的思考:
没有错误状态代码。大多数情况下,是“ERR _ CONNECTION _ TIMED _ OUT”问题。
ERR _ CONNECTION _ TIMED _ OUT错误的原因可以总结为以下五点:
服务器带宽已满,存在攻击。
如果云服务器可能有账户欠费。
服务未启动。
端口没有正确侦听。
或者防火墙策略限制。
故障排除思路说明:
1.使用命令telnet IP端口进行测试。
2.如果端口打开,请检查它。
检查服务器带宽是否已满,是否有攻击。
账户是否被拖欠使用?
3.如果端口被阻塞,请检查。
-depth0 public-DraftStyleDefault-listLTR">
web服务没有正常启动
端口没有正常监听
防火墙/安全组拦截
解决方案:
1、若是web服务没有正常启动,需要启动服务
-
使用netstat -tpln命令查看web服务(apache、nginx、tomcat等)的端口是否正常监听。
2、若是端口没有正常监听,需要修改配置文件
-
使用netstat -tpln命令查看web服务的端口是否正常监听。不是监听在0.0.0.0上。
3、若是防火墙拦截,需要关闭防火墙进行测试,或者找到相关限制规则进行修改。
-
iptables -L查看防火墙规则
场景二:网站访问异常代码4XX。
排查思路:
-
通过查看其配置文件,并检测其配置文件语法,发现语法正常;
-
通过命令行查看其web服务端口运行正常,没有进程僵尸状况;
-
具体读配置文件,然后再查找客户客户配置文件所指定的具体目录;例如:网站数据目录等(本案例是客户机器迁移之后,由于阿里磁盘的特性导致盘符改变,客户的数据盘挂载不上,etcfstab和盘符不匹配)
-
问题定位到之后,重新以正确的方式挂载客户网站数据;重启服务,问题得以圆满解决;
-
基于类似问题还可以关注下目录权限等问题。
经验汇总:
针对网站访问报错问题几点排查建议:
-
服务器配置文件权限,以及语法的正确性;
-
配置文件中指定的网站相关目录存在问题,及相关权限问题;
-
运行web服务的用户和相关权限问题;
-
防火墙的设置问题,导致服务不可达;
-
服务器服务进程僵死问题;
-
配置文件中的非法字符问题;(特别是从windows平台直接cp过来的配置文件容易报错)这样的问题较难排查,可以通过type 命令或者 file 命令查看文件类型;最好是二进制格式或者 ascii 码,linux平台可以安装 dos2unix 解决;
-
服务器的错误日志亦是非常关键的问题突破口;
案例:报错“404 Not Found”
问题原因:
404报错的具体原因是访问的路径url目录在服务上没有找到,如果直接使用ip或者域名访问,那么实际访问的页面是站点根目录下的默认文件(配置文件中index后指定的文件),如果服务器上站点根目录上没有这个文件,则会出现404错误。
排查步骤:
测试环境:Nginx环境
如下图所示,站点跟目录/www/下没有默认index.html文件,访问http://IP/index.html时,会报404 Not Found错误。
备注:Apache环境下,404错误也是同样的原理进行排查。
场景三:网站访问非常缓慢
排查思路:
阅读更多
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/155954.html