启动Tomcat报错端口号被占

启动Tomcat服务器报错:

Several ports (8005, 8080, 8009) required by Tomcat v5.5 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).

原因:端口8005, 8080, 8009被占用了。可能是在打开Tomcat的情况下关闭了Eclipse,或是Eclipse非正常关闭,导致先前的Tomcat没有被关闭,端口占用。或是其他软件占用了tomcat的端口号。此处说明一下通过Eclipse正确关闭Tomcat的方法是在控制台(Console)关闭,而不是在Servers端关闭,否则容易造成端口被占,如果是因为此原因,则在控制台(Console)关闭Tomcat即可


解决方法:结束占用端口的进程

在开始菜单->运行->cmd->输入 netstat   -ano 或netstat -an | grep 8080 命令,可以查看哪个进程占用了8080和8009端口,找到占用端口软件的PID



然后在任务管理器找到对应PID的软件,关闭结束该进程即可




以上是我自己实践过有效的方法,同事提供了另一种方法,通过eclipse修改Tomcat的默认端口号



网上也有通过修改配置文件来修改tomcat默认端口号的(该方法参照http://blog.csdn.net/xinxin19881112/article/details/6148507)

例如:C:/tomcat5.5.25/conf/server.xml
  <Connector port="8080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />

Connector 节点,将port="8080"中的端口改为一个没有被占用的端口。