启动tomcat时报错:Address already in use [linux]

本文记录了在测试服务器上启动Tomcat时遇到的问题及解决过程。主要表现为访问特定URL时出现错误提示,并通过日志发现端口被占用的情况。文章详细介绍了如何使用su命令进入环境,执行关闭和重新启动Tomcat服务的步骤。
测试服务器 
tomcat启动时,访问test.varkj.com :8080/sms/Auth/main时报错,查看日志
INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 25736 ms
SEVERE [main] org.apache.catalina.core.StandardServer.await StandardServer.await: create[localhost:8005]: java.net.BindException: Address already in use

使用su进入,然后在su的环境下使用 ./shutdown.sh 然后退出su环境
然后使用 sudo ./startup.sh 启动服务
如果启动 Tomcat 出现 "Java.net.BindExceptuon:Address already in use" 异常,表示 Tomcat 已经监听了指定端口并且正在运行。这可能是由于以前的 Tomcat 实例没有正确关闭或者其他进程正在使用该端口。 要解决这个问题,可以按照以下步骤: 1. 查找占用端口的进程。在 Windows 系统中,可以打开命令提示符并输入以下命令: ``` netstat -ano | findstr :8080 ``` 在 Linux 和 Mac OS 系统中,可以在终端中输入以下命令: ``` sudo lsof -i :8080 ``` 其中,8080 是 Tomcat 的默认端口号。这些命令将列出占用该端口的进程 ID。 2. 结束进程。在 Windows 系统中,可以打开任务管理器,选择 "进程" 选项卡,并找到相应的进程 ID,然后右键单击该进程并选择 "结束进程"。在 Linux 和 Mac OS 系统中,可以在终端中输入以下命令: ``` sudo kill -9 <进程ID> ``` 其中,<进程ID> 是占用该端口的进程 ID。 3. 重新启动 Tomcat。在终止占用端口的进程后,可以重新启动 Tomcat。 如果该端口被其他重要的进程占用,您可以在 Tomcat 的 server.xml 文件中更改 Tomcat 的默认端口号。找到以下行: ``` <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> ``` 并将端口号更改为未被占用的端口号。例如: ``` <Connector port="8088" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> ``` 然后保存文件并重新启动 Tomcat
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值