背景
今天新增加了一台新服务器,暂时nginx啥的都未启用,所以就准备先把项目跑上去,通过ip+端口进行访问,能用即可,但部署成功之后,却一直访问不了,在浏览器访问之后,一直在转圈就是不显示,这里有个特点:首先不是一访问就出现找不到页面,其次是,感觉访问得到,但一直在解析,就是不显示页面;
一般出现以上情况,我们可以通过多种方式进行一一排除,排查出原因:
第一种:通过浏览器访问,但不显示,这是最直观的验证项目是否已经运行的方式,本质上其实就是外网的访问;
第二种:在linux服务器上,通过命令进行验证,如果无法访问,则不显示任何东西;
如果访问正常,会显示出项目首页的前端代码
第三种:通过命令看防火墙是否开启,有打印出内容说明有开启
第四种:验证外网端口是否开启
PS:需要注意的是,第四种情况,是针对云服务器而言的,一般的云服务器,都会另外针对服务器,加多了一层防火墙。所以如果没有进行开启,同样也是会导致无法连接;
此处我用8007(开启)和8008(关闭)进行举例
如果没开启端口,使用tcping ip+端口,会返回 no response ,如果有开启,则会返回Port is open (这里说到tcping,关于这个东西,后面我会解释一下)
至此,我总结一下,如果项目部署到服务器,且通过查看tomcat 启动项目的日志,显示运行启动正常,没有报错,但是却访问不了,那可以通过以上几种方式进行排查问题。一般第四种情况导致的无法访问项目,机率比较高;
如果是第四种情况导致的问题,那么需要去云服务器(一般有管理页面可以直接看到)进行开启端口;
关于tcping,这里先说一下ping
ping很多人都知道,是window自带的可以用于验证服务器是否有返回的常见工具 ,比如ping www.baidu.com
但如果要验证端口是否有开启,ping 是不支持的,所以推荐tcping 这个小工具 ,可度娘一下下载,然后放到以下地址,就可以直接在cmd使用了:
C:\Windows\System32