Tomcat服务器错误 - 端口8080已在使用

时间:2015-12-13 17:03:53

标签: java tomcat

尝试在Eclipse Mars EE中执行Servlet程序时收到以下错误。

  

'在localhost'启动Tomcat v8.0 Sever遇到了问题。

     

Tomcat v8.0 Server在localhost上所需的端口8080已经存在   使用。可能已经在另一个进程或系统中运行   进程可能正在使用该端口。要启动此服务器,您需要   停止其他进程或更改端口号。

我应该怎么做才能停止这个过程?我假设必须停止Tomcat 7服务器。如果我的操作系统是Windows 8,我该怎么办?

错误截图:

error screen shot

19 个答案:

答案 0 :(得分:25)

我所要做的就是更改port numbers enter image description here

  1. 打开Eclipse

  2. 转到Servers panel

  3. 右键单击Tomcat服务器选择Open,将出现Overview window

  4. 打开Ports标签。您将获得以下内容:

    • Tomcat adminport

    • HTTP/1.1

    • AJP/1.3

  5. 我更改了HTTP/1.1的端口号(即8081

  6. 您可能还需要更改Tomcat adminport(即8006)和AJP/1.3(即8010)的端口。

  7. http://localhost:8081/...

  8. 的浏览器中访问您的应用

答案 1 :(得分:24)

适用于Ubuntu / Linux

步骤1:查找使用端口8080的进程ID

netstat -lnp | grep 8080
or
ps -aef | grep tomcat

步骤2:使用上述结果

中的进程ID终止进程
kill -9 process_id

适用于Windows

第1步:找到流程ID

netstat -ano | findstr 8080

步骤2:以管理员身份打开命令提示符并终止进程

taskkill /F /pid 1088

在我的情况下,端口8005已经在使用,所以我使用了相同的上述步骤。

enter image description here

答案 2 :(得分:20)

如果要重新获得8080端口号,请打开任务管理器然后选择处理选项卡,右键单击java.exe进程并单击结束进程,如附图所示。

screen shot

答案 3 :(得分:7)

netstat -ano | findstr 8080
taskkill /pid 21424 /F

在命令提示符下执行上述命令 第一个命令将找到使用端口8080或您正在使用的任何其他端口的进程的pid。并在第二个命令中写入pid而不是21424。

答案 4 :(得分:4)

对于MAC用户,请转到终端并执行以下操作

public static string strcon => "datasource=localhost;port=3306;database=Diary;username=" + tanv + ";password=" + tpass + "";
//                         ^^^^

默认情况下,8080是HTTP端口,而8443是HTTPS端口。

答案 5 :(得分:3)

您已经运行了另一个Tomcat实例。您可以通过转到webbrowser中的http://localhost:8080来确认这一点,并检查是否获得了Tomcat默认主页或Tomcat特定的404错误页面。两者都是Tomcat运行正常的有效证据;如果没有,那么你会得到一个特定于浏览器的HTTP连接超时错误消息。

您需要关闭它。转到Tomcat安装文件夹的/ bin子文件夹,然后执行shutdown.bat(Windows)或shutdown.sh(Unix)脚本。

要获得更多帮助,请阅读answer

答案 6 :(得分:2)

解决方案

您可以使用下面的故障排除提示。

故障排除技巧1

  1. 退出Eclipse

  2. 打开Web浏览器并访问http:// localhost:8080

  3. 如果您看到“ Tomcat”网页,则表明Tomcat正在作为Windows服务运行。要停止Tomcat作为Windows服务运行,请打开Windows控制面板。找到服务“ Apache Tomcat”并停止它。

  4. 如果没有看到“ Tomcat”网页,则停止显示相应的过程。

- 故障排除技巧2-GUI选项

释放已用于在Eclipse中运行Tomcat服务器的端口的步骤

  1. 在MS Windows上,选择“开始”>“所有程序”>“附件”>“系统工具”>“资源监视器”

  2. 展开“网络”标签

  3. 移至“侦听端口”部分

  4. 在“端口”列中查找并滚动以查找端口8080的条目

  5. 选择给定的进程并删除/杀死该进程

  6. 返回Eclipse并启动Tomcat服务器,它现在应该启动。


故障排除技巧3-命令行选项

释放已用于在Eclipse中运行Tomcat服务器的端口的步骤

例如,假设使用8080端口,我们需要腾出8080来运行tomcat

步骤1 :(打开CMD命令)

C:\ Users \ username> netstat -o -n -a | findstr 0.0:8080

TCP 0.0.0.0:3000 0.0.0.0:0侦听3116

现在,我们可以看到8080的LISTENING端口是3116,

我们现在需要杀死3116

第2步:

C:\ Users \ username> taskkill / F / PID 3116

第3步:返回Eclipse并启动Tomcat服务器,它应该立即启动。

====

Mac / Linux解决方案

第0步:退出Eclipse

第1步:打开一个终端窗口

第2步:输入以下命令以找到进程ID

lsof -i:8080 这将提供在端口8080上运行的应用程序的输出

第3步:输入以下命令以终止进程

杀死$(lsof -t -i:8080)

第4步:返回Eclipse并启动Tomcat服务器,它现在应该启动。

答案 7 :(得分:2)

您可以分两步解决此问题:

步骤1:打开命令提示符并键入 netstat -a -o -f ,然后按Enter键 (上面的命令将显示您机器上运行的所有进程) https://i.stack.imgur.com/m66JN.png

步骤2:键入 TASKILL / F / PID 4036 (其中F代表强制,PID代表父ID,4036代表进程ID为8080,这里我使用的是一些随机数) https://i.stack.imgur.com/Co5Tg.png

当您尝试终止进程时,它会抛出异常,告知访问被拒绝,如上面的屏幕截图所示,那时您应该以管理员身份打开命令提示符 https://i.stack.imgur.com/JwZTv.png

然后回到eclipse清理项目,然后尝试运行项目

答案 8 :(得分:1)

我已经多次遇到此问题。 如果端口8080已在使用中,则意味着有任何正在使用该端口的进程(或其子进程)

解决此问题的两种方法:

  1. 更改端口号,此问题将得到解决 enter image description here

  2. 我们将找到PID,即进程ID,然后终止使用此端口的子进程的进程。

查找PID:进程ID(每个进程都有唯一的PID) c:user>用户名> netstat -o -n -a | findstr 0.0.8080

enter image description here

现在我们需要终止该过程

cmd->以管理员身份运行

C:\ Windows \ system32> taskkill / F / T / PID 2160

“ taskkill / F / T / PID 2160”->“ 2160”是进程ID 现在您的服务器可以使用该端口8080

enter image description here

答案 9 :(得分:1)

要消除此错误,只需单击eclipse上的服务器选项卡即可。您将获得服务器列表,如下图所示(在我的情况下,它只是tomcat 8)

enter image description here

双击相应的服务器。您将获得如下所示的屏幕: -

enter image description here

现在更改冲突的端口号。在我的情况下,我将8080更改为8081(突出显示部分)。保存(ctrl + s),因此您现在可以启动服务器。

答案 10 :(得分:1)

我建议从任务管理器结束java.exejavaw.exe进程,然后重试。这不会结束整个eclipse应用程序,但会释放端口。

答案 11 :(得分:1)

从CMD或PowerShell运行...

netstat -ab

输出应该能够指向哪个进程持有端口8080的方向。条目可能是127.0.0.1:8080您可能仍然在端口8080上运行Tomcat的实例。

然后,您可以在PowerShell中使用Stop-Process或在CMD中使用“taskkill”来停止该过程,并且应该能够在该点执行该程序。

答案 12 :(得分:1)

因为使用命令提示符很容易解决。 打开CMD并输入以下内容。

netstat -aon | find "8080"

如果进程使用上述端口,则应返回类似这样的输出。

TCP    xxx.xx.xx.xx:8080      xx.xx.xx.xxx:443      ESTABLISHED     2222

最后一列值(2222)引用到进程ID( PID )。

只需杀死,如下所示。

taskkill /F /PID 2222

现在您可以启动服务器了。

答案 13 :(得分:0)

在应用程序下面打开

C:\ Users \%username%\ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Apache Tomcat 8.5 Tomcat8

右键单击系统托盘中的Apache tomcat,然后单击停止服务

从eclipse运行您的应用程序。

http://siddartech.com/apache/apachi-tomcat-server-already-in-use/

答案 14 :(得分:0)

这里的事情是-您已经在端口8080上运行了另一个tomcat,需要将其关闭。您可以通过多种方式进行操作。让我告诉你2种最简单的方法

  1. 要么转到安装了tomcat的位置,要么转到din目录并执行shutdown.bat或shutdown.sh

OR

  1. 如果您在Windows中,请转到屏幕的右下角通知面板,单击向上箭头以查看更多正在运行的服务,您将在此处找到tomcat。右键单击它,然后选择“关闭...”。

答案 15 :(得分:0)

我解决这个问题的方法是,安装TCPview转到TCP视图并检查Tomcat利用哪些端口,除了8005,8009,8080之外还有其他几个端口现在转到eclipse中的Servers选项卡双击Tomcatv9.0服务器并在那里更改端口号。这将解决问题。

答案 16 :(得分:0)

您可以通过执行以下步骤来停止正在运行的tomcat服务器:

步骤1:转到Windows系统中的tomcat安装路径(/ bin)

步骤2:打开该bin目录的cmd(您可以通过在该目录中键入“cmd”轻松完成此操作)

步骤3:运行“Tomcat7.exe stop”

这将停止所有正在运行的tomcat服务器实例,现在您可以从eclipse IDE启动服务器。

答案 17 :(得分:0)

对于遇到相同问题的Ubuntu用户(例如调试期间Eclipse崩溃),请执行netstat -a -p | grep 8095(或任何其他端口号,如果是Tomcat服务器),然后kill -9那个进程。

答案 18 :(得分:0)

您可以停止在tomcat安装目录中使用shutdown.bat。或者你可以点击"停止" eclipse的服务器视图上的按钮。要进入视图,请选择窗口 - 显示视图 - 服务器