CDN加速

文档中心 云服务器 常见问题 无法打开Linux实例上运行的网站

无法打开Linux实例上运行的网站

更新时间:2020-05-09 14:20:54

注意:无法打开网站时,应该先搜索排查报错提示的含义,再排查 80 端口状态和排查 Web 服务状态。本文提供快速排查思路。

一、查看80端口是否可用

  1. 运行命令netstat -an | grep 80,查看 TCP 80 端口是否被监听。如果返回以下任意一种结果,说明已启动 TCP 80 端口的 Web 服务:
    tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN //全网监听
    tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN //本机监听

    如为本机监听方法,会导致外网无法访问 Web 服务只有本机能访问。
    解决方式:将端口监听地址的方法修改为全网监听。

注意:网宿云服务器的80端口默认不开启。

  1. 若第一步检查出80端口未被监听:
  • 查看实例安全组是否放行 80 端口。查看添加安全组规则。
  • 查看实例 iptables 是否放行 80 端口。
  • 使用 telnet 和 traceroute 跟踪 80 端口的通断情况。
  • 查看云服务器带宽是否跑满。

二、 排查 Web 服务不可用

  1. 查看Web服务日志。
  2. 查看实例运行状态看是否有异样进程。
  3. 查看实例带宽是否跑满,如果跑满可升级实例带宽。
  4. 查看实例CPU/内存是否耗尽。
  5. 查看实例的80端口是否有过多的TCP链接。
    • 通过 netstat -anp |grep tcp |wc -l 统计 TCP 连接数。
    • 对比 /etc/sysctl.conf 配置文件的 net.ipv4.tcp_max_tw_buckets 最大值,看是否有超出情况。若超出:
      • 执行 vi /etc/sysctl.conf 编辑文件,查询 net.ipv4.tcp_max_tw_buckets 参数。如果确认连接使用很高,容易超出限制。
      • 调高参数 net.ipv4.tcp_max_tw_buckets,扩大限制。
      • 输入指令 sysctl -p 使配置生效。