![](/img/trans.png)
[英]Cannot open http://localhost:8080/ when Tomcat is running in Eclipse
[英]Tomcat starts but home page cannot open with url http://localhost:8080
我是 Java 新手,正在尝试开发 Web 应用程序。 我有 Windows 7 32 位。 我已经安装了 Java 7 并设置了路径和类路径。 之后我安装了Tomcat 7。
当我尝试使用 URL localhost:8080
打开 tomcat 主页时,它不会打开并且 Tomcat 会自动停止。
请帮我。
在启动 tomcat 之前确保没有其他应用程序使用端口 8080。 如果这不是问题,请粘贴 tomcat 日志。
如果你想改变tomcat的默认端口,进入tomcat文件夹,打开conf
文件夹,在里面可以看到server.xml
。 在该文件中,您可以看到类似<Connector port=
。 更改端口值并启动tomcat。
您的问题不在于端口8080
,而在于端口8005
。 8005
端口是 Tomcat 的关闭端口。
与其试图找出使用端口8005
,不如编辑TOMCAT_DIR/conf/server.xml
并将关闭端口更改为8006
可能更容易
<Server port="8006" shutdown="SHUTDOWN">
对于基于 *Unix 的系统,您可以通过在终端中发出以下命令来检查特定应用程序使用的端口
[~/.]$ netstat -tuplen
您将获得当前由各自进程 ID 持有和使用的所有端口的列表
1) 使用终端(在 Linux 上),转到 apache-tomcat-directory/bin 文件夹。
2) ./catalina.sh start
3) 要停止 Tomcat, ./catalina.sh stop
从bin文件夹中键入./catalina.sh stop
。 由于某种原因./startup.sh
有时不起作用。
对于 Windows 用户,在命令提示符下键入netstat -an
以查看正在侦听的端口,这可能会派上用场。
对于 Mac 用户
首先尝试:转到活动监视器-> 搜索 java 并终止实例,然后重新启动服务器并尝试。
第二次尝试:检查 tomcat 日志文件夹下的日志文件是否有任何错误。
使用以下命令在终端中检查 tomcat 日志
tail -f {tomcatpath}/logs/catalina.out
第三次尝试:检查节点或其他应用程序是否使用相同的端口。 使用以下命令检查哪个应用程序侦听特定端口。 您将在第二列中看到带有 pid 的应用程序列表。
lsof -i :8080 | grep LISTEN
使用以下命令终止进程
sudo kill -9 pid
我的问题已经解决。我得到的日志如下。
严重:StandardServer.await:create[localhost:8005]:java.net.BindException:无法分配请求的地址:JVM_Bind
当我尝试使用 URL 打开 tomcat 主页时,我的 tomcat 服务器自动停止。
所以我只是在 windows->System32->drivers->etc->host 文件中做了一些更改。 仅保留 127.0.0.1 localhost 并删除所有其他内容。 你的问题将得到解决。 谢谢大家的帮助:D
如果您启动了 tomcat(在 linux 中使用ps -ef | grep java
检查)并且您看到它打开了端口 8080 或您在 server.xml 中配置的端口(使用netstat --tcp -na | grep <port number>
) 但您仍然无法在浏览器中访问它,请检查以下内容:
logs/catalina.out
。 当服务器完全启动时,您应该会看到类似的内容。INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 38442 ms
SecureRandom
类负责提供随机会话 ID,这可能会导致启动过程中出现很大的延迟。 在此处查看更多详细信息和解决方案。iptables -L -n
):如果您没有进入暴露环境,您可以尝试完全重置您的防火墙iptables -F
。 但是,请注意,这会使您没有保护,因此可能很危险。selinux
(如果您使用的是 linux)。这些是在启动和运行 Apache Tomcat 过程中最容易被遗忘且不明显的一些问题。
我正在Eclipse Java EE IDE for Web Developers. Version: Oxygen.1a Release (4.7.1a) in Windows 8.1 x64
使用Eclipse Java EE IDE for Web Developers. Version: Oxygen.1a Release (4.7.1a) in Windows 8.1 x64
Eclipse Java EE IDE for Web Developers. Version: Oxygen.1a Release (4.7.1a) in Windows 8.1 x64
和Apache Tomcat 8.5.24
(用于测试目的)。
我的 Tomcat 服务器的端口名称和编号是:
Tomcat admin port : 8005 HTTP/1.1 : 8081 (my Tomcat Listening Port Number) AJP/1.3 : 8009
人们,对于那些Tomcat运行良好的人, sometimes
在通过按下下面显示的图像按钮明确stopping tomcat server
后sometimes
突然或可能是其他原因。
Either
他们一直无法start/restart
tomcat,并出现以下错误:
服务器 本地主机上的 Tomcat vX.Y 服务器无法启动。
or
有时Tomcat Server is started
但不是在 Web 浏览器中显示Tomcat Homepage
,而是抛出客户端异常HTTP Status 404 – Not Found.
在首选的网络浏览器中。
可能有很多原因,即Host name
定义错误、Eclipse 中定义的 Tomcat Server Locations
错误、项目JDK/JRE
版本与Tomcat JRE dependent version
版本不匹配、maven 项目版本不匹配由于maven.compiler.source
和maven.compiler.target
版本未在属性标签下定义,项目方面动态 Web 模块的版本与 2.5/3.0 不匹配,有时 Tomcat 服务器在 Windows 服务级别上运行,之前停止的 Tomcat 端口号仍在侦听,并且processing pid
在 Tomcat 定义的时间跨度Timeouts Stop (in seconds): 15(by default)
中未被Timeouts Stop (in seconds): 15(by default)
in eclipse and pid
still running, failed to start in defined Start (in seconds): XX
等。
在这里我将给出解决方案,如何检查并杀死正在运行的现有Tomcat端口号的processing pid
(注意,您必须注意后遗症)。
在 Windows 中,打开命令提示符,然后按照步骤操作(我的 tomcat HTTP 端口是 8081):
netstat -ano | findstr :8081 TCP 0.0.0.0:8081 0.0.0.0:0 LISTENING 2284 TCP [::]:8081 [::]:0 LISTENING 2284
如果有任何监听,上面的命令将在行的最后列出端口监听的详细信息以及processing pid
(这里的 pid 是 2284)。
现在杀死正在运行的pid,如:
taskkill /PID 2284 /F SUCCESS: The process with PID 2284 has been terminated.
还说明了上述两个步骤,如下所示:
现在,解决上述原因后,启动Tomcat Server
。
我遇到过同样的问题。 我的 tomcat 已启动,但未找到 HTTP 404 页面。但是,在我的情况下,我安装了 tomcat 的树实例。 每个实例都包含 conf、temp、work、webapps 和 logs 文件夹。 除非我忘了,把全局的web.xml 复制到每个tomcat 的conf 文件夹下。
e.g: /opt/tomcat/mytomcatInstance/conf/web.xml
web.xml 部署描述符文件描述了如何在 servlet 容器中部署 Web 应用程序。
因此,即使我的 tomcat 已启动,我的网络应用程序也无法正确部署。
由于内存问题,可能会发生问题。 java.lang.OutOfMemoryError:Java 堆空间
请验证日志文件,任何与硬件(内存)相关的问题。
在 TomcatDirectory/logs/catalina.out 中查找日志。 如果日志太长,请删除 catalina.out 文件并重新运行应用程序。
在我的情况下,tomcat 运行的端口是在 application.properties 文件中为 8000 定义的,而不是 8080。在我的情况下,它看起来与此处描述的问题相同。 只是留在这里以防万一有人有类似的设置和问题! :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.