在linux环境中安装tomcat后,通过外部浏览器无法访问到首页的问题

问题描述:

在centos7安装tomcat后,物理机的浏览器访问不到虚拟机的tomcat的首页,防火墙关闭也访问不到,那么我建议可以试一试使用./shudown.sh关闭当前tomcat,并且看一看是否关闭了,如果没有彻底关闭,建议 kill -9 ps -ef|grep tomcat|awk '{print $2}' 用它来试试,然后在尝试访问,当然了这是在你确定没有其他的问题的情况下,如果你不确定可以根据我写的步骤进行判断,然后找对应的解决方法。

通用解决步骤

一般的解决方案都是让你看防火墙是否关闭,是否放行8080端口之类的,但是我遇到的问题就不是这样的,在防火墙都关了的情况下还访问不到首页,就很离谱,所以肯定不是防火墙的问题。
但是解决的步骤还是从关闭防火墙开始。
1.关闭防火墙,进行访问,看是否可以访问,如果可以访问就是因为在防火墙中没有对8080端口进行放行
2.关闭防火墙也没用的情况下:
2.1首先进入tomcat的bin目录,然后执行./catalina.sh run,相当于debug启动,看看启动过程中有没有什么异常,如果有异常,根据具体的异常信息来判断问题。
2.2 如果debug启动过程没有异常,那么查看日志来判断,到bin目录的上一级目录,进入logs目录,执行 tail catalina.out 命令,查看日志,通过日志信息来判断。

我遇到的问题

关闭防火墙,仍然访问不到首页,这里有个很气人的问题,就是正常启动显示启动了,但是不代表启动成功了,还是需要./catalina.sh run来看是否有异常信息,

在这里插入图片描述
在没有异常信息的情况下,我又进入logs文件夹,执行tail catalina.out,看日志,这是正常的情况,但是我的不是下面这样的
[root@192 logs]# tail catalina.out
29-Jul-2021 21:00:40.691 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/apache-tomcat-8.5.32/webapps/docs] has finished in [30] ms
29-Jul-2021 21:00:40.691 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/apache-tomcat-8.5.32/webapps/examples]
29-Jul-2021 21:00:41.030 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/apache-tomcat-8.5.32/webapps/examples] has finished in [339] ms
29-Jul-2021 21:00:41.031 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/apache-tomcat-8.5.32/webapps/host-manager]
29-Jul-2021 21:00:41.075 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/apache-tomcat-8.5.32/webapps/host-manager] has finished in [45] ms
29-Jul-2021 21:00:41.075 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/apache-tomcat-8.5.32/webapps/manager]
29-Jul-2021 21:00:41.114 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/apache-tomcat-8.5.32/webapps/manager] has finished in [39] ms
29-Jul-2021 21:00:41.118 信息 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [“http-nio-8080”]
29-Jul-2021 21:00:41.215 信息 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [“ajp-nio-8009”]
29-Jul-2021 21:00:41.219 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in 1100 ms

我遇到的是这样的我们可以看到大概的意思就是先暂停,然后停止,然后销毁,tomcat自己挂掉了,就很离谱,也不知道什么原因
[root@192 logs]# tail catalina.out
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)

29-Jul-2021 19:11:48.967 信息 [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler [“http-nio-8080”]
29-Jul-2021 19:11:48.968 信息 [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler [“ajp-nio-8009”]
29-Jul-2021 19:11:48.968 信息 [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Catalina]
29-Jul-2021 19:11:49.023 信息 [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler [“http-nio-8080”]
29-Jul-2021 19:11:49.023 信息 [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler [“http-nio-8080”]
29-Jul-2021 19:11:49.023 信息 [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler [“ajp-nio-8009”]
29-Jul-2021 19:11:49.023 信息 [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler [“ajp-nio-8009”]
最终是如何解决的那
毫无头绪,但是我想着先把这个tomcat关了重开一个,问题出现了,使用./shutdown.sh 后,tomcat没有关掉,后台依旧这线程,使用ps -ef | grep tomcat查看还是存在,于是查了强制关的命令
kill -9 ps -ef|grep tomcat|awk '{print $2}'
关掉了,然后再启动tomcat,可以访问了首页了,日志里的信息也正常了,我个人认为可能是之前刚开始启动的tomcat报错了,但是我没有发现,直接用./shutdown.sh关闭,结果没有完全关闭,就与后来的tomcat起了冲突吧,可能这样说不是很严谨,但是问题解决了!!!!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在Linux上使用Docker Compose安装Tomcat和Nginx,并通过外网访问的详细步骤: 1. 安装Docker和Docker Compose:首先确保你的Linux系统已经安装了Docker和Docker Compose。你可以根据你的Linux发行版使用适当的包管理器进行安装。 2. 创建一个工作目录:在你的Linux系统上创建一个用于存放docker-compose.yml文件和相关配置文件的工作目录。 3. 创建docker-compose.yml文件:在工作目录创建一个名为docker-compose.yml的文件,并添加以下内容: ``` version: '3' services: tomcat: image: tomcat ports: - 8080:8080 nginx: image: nginx ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/nginx.conf ``` 上述配置文件定义了两个服务:Tomcat和Nginx。Tomcat服务将在8080端口上监听,并将其映射到主机的8080端口。Nginx服务将监听80端口,并将其映射到主机的80端口。此外,我们还将挂载一个名为nginx.conf的配置文件到Nginx容器内的/etc/nginx/nginx.conf路径。 4. 创建Nginx配置文件:在工作目录创建一个名为nginx.conf的文件,并添加以下内容: ``` events {} http { server { listen 80; location / { proxy_pass http://tomcat:8080/; } } } ``` 上述配置文件将Nginx配置为反向代理,将所有的请求转发到Tomcat服务上。 5. 启动容器:在工作目录打开终端,运行以下命令来启动容器: ``` docker-compose up -d ``` 这将会下载并启动Tomcat和Nginx容器。使用`-d`标志可以在后台运行容器。 6. 配置防火墙:如果你使用的是防火墙,请确保允许流量通过Tomcat和Nginx所使用的端口(8080和80)。 7. 配置路由器/防火墙端口转发:如果你使用的是家庭网络或企业网络,并且要从外部访问Tomcat和Nginx服务,你可能需要在路由器或防火墙上进行端口转发配置。请参考你的网络设备的文档来进行相应的配置。 8. 外网访问:完成以上步骤后,你应该能够通过浏览器从外网访问Tomcat和Nginx服务。通过输入你的服务器的公共IP地址或域名,加上对应的端口号(例如:http://your_server_ip:80)来进行访问。 希望以上步骤能够帮助你成功安装Tomcat和Nginx,并通过外网进行访问。如有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值