本地无法访问tomcat的问题(非防火墙原因)

一、本地无法访问部署的tomcat

本人使用的是CentOs6.5。
部署jenkins的时候,首先在Linux下安装了tomcat,tomcat启动成功后,在Linux可以正常访问,但是在本地各种访问不到(localhost、127.0.0.1、ip)本地和虚拟机的网络是可以ping通的,还是访问不到,如下图无法访问tomcat
排查了一下问题:

  • 端口号是否被占用
  • tomcat是否已经正常启动
  • ip地址是否输入正确
  • 虚拟机和本地网络是否可以ping通
  • 端口号是否被防火墙拦截

我得tomcat安装目录是/usr/local/tomcat,关于详细的安装教程可以参考https://www.cnblogs.com/proper128/p/11181760.html,其中这个上面的下载tomcat的链接已经失效了,如果想要下载可以去官网获取下载路径,
如:wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31.tar.gz
按照上面的配置成功后,发现本地并不能访问,其中查找了很多博客,很多是描述防火墙问题的,然而我的并不是防火墙问题。

1.端口号是否被占用

我使用的端口号是8081,tomcat默认的端口号是8080,使用哪个无所谓,只要未被占用就可以。
启动tomcat之前使用命令查看端口是否被占用。netstat -an | grep 8081
如果没有被占用未占用

如果使用这个端口启动过tomcat,然后关闭,再去查看该端口。会发现如下图所示,是正常情况。一般情况下,自己练习不会出现这个问题。启动后,再关闭

2.关于tomcat是否已经正常启动的验证

进入tomcat的bin目录,在这里插入图片描述启动tomcat。./startup.sh如下是成功启动。启动tomcat
查看tomcat进行是否启动ps -ef | grep tomcat,如下是成功启动tomcat进程

3.ping网络

虚拟机ping本机,本机ping虚拟机,这个如果有问题的话应该早就发现了。

4.Linux下访问tomcat

使用curl+虚拟机ip地址+端口号
linux下访问tomcat
如果修改tomcat中配置文件servic.xml时没有增加URIEncoding=“UTF-8”,不会出现下面的网址信息。tomcat配置信息
访问失败的提示信息是:访问失败

5.端口号是否被防火墙拦截

最简单的解决方案是关闭防火墙,注意这里的防火墙指的是Linux下的防火墙。
CentOs6.5防火墙命令

  • 关闭:service iptables stop
  • 开启:service iptables start
  • 查看防火墙状态:service iptables status
    关闭之后如果跟还不能访问就不是防火墙的问题了。

还可以添加防火墙的通过端口。
进入防火墙的配置文件 vim /etc/sysconfig/iptables
防火墙配置文件
现在开放了22、8881、8080、80这几个端口,可以把其中某一行复制,把端口号修改了,粘贴到下一行。修改文件后,重新启动防火墙就可以。启动后的显示如下:防火墙状态

5.解决方案

最后发现是我虚拟机的问题,虚拟机的网络应该选择桥接模式。
我本地ip是192.168.1.5
虚拟机ip192.168.1.8
service.xml配置文件中主机name是localhost
在Linux中可以使用(localhost、127.0.0.1、192.168.1.8进行访问tomcat)
在本机只能通过192.168.1.8进行访问。

搭配的初衷是为了安装Jenkins,把测试代码进行持续集成。

发布了8 篇原创文章 · 获赞 3 · 访问量 453

猜你喜欢

转载自blog.csdn.net/qq_45731111/article/details/104454919
今日推荐