Tomcat(8005,8080,8009)端口占用问题常见原因及解决方法
tomcat常见的错误与解决方案小结

tomcat常见的错误与解决⽅案⼩结⼀、tomcat启动时错误问题1:The JAVA_HOME environment variable is not defined This environment variable is needed to run this program;解决:没有在tomcat的配置⽂件.bash_profile中设置环境变量JAVA_HOME,具体设置⽅法为:加⼊如下⼏⾏:JAVA_HOME=/home/tomcat/j2sdk1.4.2_08(具体值要以实际的jdk安装路径为准)export JAVA_HOMECLASSPATH=/home/tomcat/j2sdk1.4.2_08/lib/tools.jar:/home/tomcat/j2sdk1.4.2_08/lib/dt.jarexport CLASSPATH问题2:Error occurred during initialization of VM Could not reserve enough space for object heap解决:在tomcat的bin⽬录下,catalina.sh⽂件的tomcat内存参数配置过⼤,超过机器可⽤内存总数造成,修改到适当的值即可,修改的参数为:JAVA_OPTS="-Xms50m -Xmx60m"问题3:tomcat启动时报某个⽬录没有权限,启动失败,或者不能执⾏某些jsp页解决:tomcat需要tomcat⽤户具有⼀些⽬录和⽂件的相应权限, 所有⽬录应该具有读写执⾏(浏览)的权限,jsp,class⽂件应该最少具有读权限, ⼀些⽂件需要写权限,下⾯是已知的需要读写权限⽂件的列表:$CATALINA_HOME/logs下所有⽂件$CATALINA_HOME/work下所有⽂件$CATALINA_HOME/publish/main/count.txt⽂件$CATALINA_HOME/publish/chatroom/resource下的所有.xml⽂件所有上传图⽚⽬录都需要写权限。
在myEclipse中配置tomcat6.0服务器,解决8080端口占用问题

在myEclipse6.5 blue中配置tomcat6.0服务器,解决8080端口占用问题安装完myEclipse和tomcat6.0,不配置,直接myEclipse 启动tomcat6.0服务器,会出现8080同时端口占用问题,即:Address already used:8080,此时按照网上的一些方法如:在DOS下输入命令:netstat /nao,然后加车。
原来端口号8080被标识号为680的进程占用了,难怪访问不了。
这样的话可以有两种方法解决,一种方法是修改Tomcat的端口号(在此不说);另外一种方法是让占用端口号8080的进程不再占用8080端口,首先得弄明白是什么进程占用了8080端口号。
打开任务管理器。
标识号为680的进程是TNSLSNR.EXE,该进程是Oracle数据库的监听进程。
让TNSLSNR.EXE不再占用8080端口也有两种方法:1,把这个进程停掉,2,修改端口。
我首先采用了第一种方法,停止了TNSLSNR.EXE进程,Tomcat 固然可以访问了,但是连接本地Oracle数据库时提示:没有监听程序。
显然第一种方法不可用!只能修改TNSLSNR.EXE的端口号了。
修改方法如下:用oracle提供的包:-- 把HTTP/WEBDAV端口从8080改到8081SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),'/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()',8081))/-- 把FTP端口从2100改到2111SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),'/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()',2111))/SQL> commit;SQL> exec dbms_xdb.cfg_refresh;-- 检查修改是否已经成功SQL> select dbms_xdb.cfg_get from dual;尝试过,并不可行,因为我们的tomcat6.0根本没有在myEclipse6.5中配置过。
浅谈Tomcat乱码与端口占用的解决方案

浅谈Tomcat乱码与端口占用的解决方案这篇文章主要介绍了浅谈Tomcat乱码与端口占用的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。
但是有些小伙伴在启动Tomcat时也会遇到各种各样的问题,比如Tomcat的startup.bat启动后出现乱码,端口占用,启动后闪退等问题,这里我们来一一进行解决问题一:Tomcat的startup.bat启动后出现乱码找到Tomcat文件下的conf目录,修改logging.properties文件中java.util.logging.ConsoleHandler.encoding对应的值为G BK重启Tomcat,你看到的启动页面是这样的话,说明乱码问题已经解决问题二:一闪而退之端口占用启动Tomcat出现一闪而退的现象,其实还是可以看到Tomcat终端输出的日志,这时你需要迅速截图捕获异常,太南了。
最正确的方法是查看日志,找到Tomcat目录下的logs目录中catalina当天的日志cat\apache-tomcat-8.5.47\logs\catalina.2019-10-17.log,在日志中可以看到类似这样的输出,Address alreadyin use: bind说明是端口占用了17-Oct-2019 11:14:30.521 严重 [main] org.apache.catalina.core.StandardService.initInterna l Failed to initialize connector [Connector[HTTP/1.1-8080]]org.apache.catalina.LifecycleException: Protocol handler initialization failedat org.apache.catalina.connector.Connector.initInternal(Connector.java:995)at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)at org.apache.catalina.core.StandardService.initInternal(StandardService.java:552)at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:848)at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)at org.apache.catalina.startup.Catalina.load(Catalina.java:639)at org.apache.catalina.startup.Catalina.load(Catalina.java:662)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)在Tomcat 目录找到conf 目录中的server.xml 配置文件,在Connector 标签中修改Tomcat 启动端口问题三:非端口问题的一闪而退启动Tomcat 直接一闪而退,在logs 目录的日志里面找不到错误信息,这个时候很大可能是因为Tomcat 与JDK 版本不对应导致的,有可能你的Tomcat 是Tomcat9版,而你的JDK 是1.7版本的,Tomcat 与JDK 版本对应关系可以参考这篇文章Tomcat 与JDK 版本对应关系,Tomcat 各版本特性以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
TestCenter常见问题

TestCenter常见问题1. 无法启动Tomcat出现此问题可以做如下尝试:(1) 首先查看本机是否安装了JDK,要确保JDK本身没有问题(必须安装JDK1.6)(2) 装完JDK后,需配置环境变量JAVA_HOME (可以参考以下步骤)找到JDK的安装目录(默认安装在C:Program FilesJavajdk1.6.0_12),复制该路径;右键“我的电脑”点击“属性”,选择“高级”标签页点击“环境变量”后,在弹出的“环境变量”对话框中点击“新建”按钮在变量名中输入:JAVA_HOME(注意大小写以及下划线)在变量值中把刚刚复制的路径,JDK安装目录所在路径(默认安装在C:Program FilesJavajdk1.6.0_12,用户需要找到自己实际的安装路径来设置变量值)如下图:点击“确定”,结束环境变量的配置。
环境变量CLASSPATH:C:Program FilesJavajdk1.6.0_12jrelib (默认安装在C:Program FilesJavajdk1.6.0_12jrelib,用户需要找到自己实际的安装路径来设置变量值)2. 在登录界面输入正确的用户名以及密码,却提示用户名或密码不正确问题出现如上的情况一般是由于没连接上Mysql数据库造成的,而不能连接上Mysql数据库的话分为以下三种情况:(1)若用户本机没有装有Mysql数据库的话则需要在安装TestCenter过程中需要选中“安装Mysql数据库”(2)若用户在本机中已经装有Mysql数据库的话,需要导入我们TestCenter的数据库database,该数据库文件testcenter.sql 在文件夹TestCenter目录下(默认路径为C:Program FilesSpasvoSoftTestCenter),具体步骤如下:a) 在“运行”中输入cmd,打开cmd窗口b) 进入Mysql的bin目录,在cmd中输入cd C:Program FilesMySQLMySQL Server 5.0in(C:Program FilesMySQLMySQL Server5.0in只是一个举例,用户需要根据自己的实际安装目录输入)c) 输入mysql ?uroot ?proot 进入mysql数据库中;d) 进入mysql后就可以导入TestCenter数据库文件testcenter.sql 了,输入source C:Program FilesSpasvoSoftTestCenterestcenter.sqle) 导入成功会有如下显示;完成以上步骤后就可以正常使用TestCenter。
Tomcat启动报错:Severalports(8005,8080,8009)requir。。。

Tomcat启动报错:Severalports(8005,8080,8009)requir。
1、问题描述 通过Eclipse启动tomcat报错:Several ports (8005, 8080, 8009) required by Tomcat v7.0 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),按照⽹上的解决办法改端⼝也没有⽤(通过netstat -ano根本就没有发现端⼝被占⽤)。
2、解决办法查看logs⾥的⽇志发现启动报错了:.SocketException: Unrecognized Windows Sockets error: 10106: createat .ServerSocket.createImpl(ServerSocket.java:308)at .ServerSocket.getImpl(ServerSocket.java:257)at .ServerSocket.bind(ServerSocket.java:376)at .ServerSocket.<init>(ServerSocket.java:237)at org.apache.catalina.core.StandardServer.await(StandardServer.java:440)at org.apache.catalina.startup.Catalina.await(Catalina.java:769)at org.apache.catalina.startup.Catalina.start(Catalina.java:715)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at ng.reflect.Method.invoke(Method.java:601)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)3、操作步骤 打开cmd,输⼊:netsh winsock reset 然后回车 winsock是Windows⽹络编程接⼝,winsock⼯作在应⽤层,它提供与底层传输协议⽆关的⾼层数据传输编程接⼝ netsh winsock reset 是把它恢复到默认状态4、参考⽹站。
如何查看80端口是否被占用_端口被占用解决办法

80端口是否被占用的解决办法一、问题描述公司外网发布是必须使用80端口,可是每次tomcat启动时,总时报端口占用,如果将端口改为不用的端口,例如:8090等,就能正常启动使用。
二、问题分析一般服务器安装MS SQL Server 2008 时,都要求安装IIS 5.0或6.0,此时,肯定时被IIS 占用了,如果你把IIS 端口号修改成其它的,重启IIS 后,80端口仍然被占用呢,那你就需要检测是否还有其它服务占用了。
三、问题检查及处理先介绍一下我的服务器环境:Windows 2003 Server SP2,MS SQL Server 2008 R2 ,Tomcat 6.0 ,Sun JDK 1.6 和1.7版本。
检查端口占用常用方法有:使用Dos 命令检查或使用专用软件检查。
使用Dos 检查:在Dos 命令行中输入netstat -aon|findstr "80" 即可查看到端口被谁占用,我查时被System 占用,PID为4,使用进程查看器发现是系统自己的进程,所以没办法停用,如果停用,系统无法正常工作,并且重新启动电脑。
使用专用软件检查,例如:Active Ports软件,可以查看到什么端口被什么软件点用,安装位置是什么等,就可以直接定位,但是我的服务器还是显示为PID为4,程序为System 占用,声明:System不带.exe啊(有的进程为:System.exe,我的则不是)处理方法:经仔细查找,发现是MS SQL Server 2008服务占用了80端口,此时启动SQL Server 配置管理器,进入后,将SQL Server Reporting Services 服务停用后即可,也不影响MS SQL Server 的正常使用。
最终处理方法:1.将IIS改不用的端口后禁用掉。
2.将MS SQL Server 2008的SQL Server Reporting Services 服务停用。
3.15.2 集成状态下WEB-LCT常见问题解答

Q: 集成时界面灰屏或显示不正常故障现象1:A: 可能原因如下:1.默认浏览器设置不对:这里Windows操作系统为例,首先打开进程管理,检查一下IeEmbed.exe进程是否启动,如果没有,请把IE设置为默认的浏览器。
工作站上默认的浏览器是mozilla。
Solaris8默认的浏览器式NetScape,需要升级浏览器到Mozilla1.7.13,Solaris10用自带的Mozilla浏览器。
可以通过对IE进行设置来把它重新设置为系统的默认浏览器,步骤如下:1)启动IE浏览器。
2)选择【工具】菜单中的【Internet选项】菜单项,打开【Internet选项】对话框。
3)打开【程序】选项卡,选中【检查Internet Explorer是否为默认的浏览器】复选框。
4)单击【确定】按钮,关闭对话框。
5)重新启动IE浏览器,系统提示是否把IE设置为默认浏览器,选择是即可。
但是有的时候,这样做还不行,请打开注册表,使用regedit命令,找到[HKEY_CLASSES_ROOT\http\shell\open\command],将右侧的“默认”键的值设置为“"C:\Program Files\Internet Explorer\iexplore.exe" -nohome”(不包括引号),关闭注册表并重起IE即可。
如果没有奏效,则“重置Web设置”一次。
2.浏览器版本太低(针对Windows):WebLCT默认要求的IE浏览器版本必须是6.0版本以上,如果版本低于6.0,页面可能出现打不开或显示undefine的现象,目前主要是Windows 2000版本的操作系统可能会出现,因为其上的IE一般情况均为6.0以下版本。
为解决显示问题必须升级IE版本。
3.浏览器的安全级别过高:浏览器的安全级别设为高时,会影响脚本的运行,导致界面灰化。
若要正常显示页面,应将安全级别设置中级以下级别。
同时在Windows 2003版本中会默认安装IE增强性安全设置功能,该功能会导致安全级别始终处于高级别状态,因此需要按下图显示的方式取消该功能:取消后,再设置安全级别为中级以下级别即可。
tomcat端口占用解决方法

通常时候端口被占,我只是不停的去shutdown tomcat,然后再去任务管理器杀进程。
这样通常也很好用,但是最近学到了一个比较科学的方法如下:第一步查看一下是哪个进程在使用该端口使用如下命令:批处理代码 netstat -ano | more第二步找到是哪个进程使用如下命令:Java代码1.tasklist | more第三步就可以关应用程序去了。
附:NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v]-a 显示所有连接和监听端口。
-b 显示包含于创建每个连接或监听端口的可执行组件。
在某些情况下已知可执行组件拥有多个独立组件,并且在这些情况下包含于创建连接或监听端口的组件序列被显示。
这种情况下,可执行组件名在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP部分。
注意此选项可能需要很长时间,如果没有足够权限可能失败。
-e 显示以太网统计信息。
此选项可以与 -s选项组合使用-n 以数字形式显示地址和端口号。
此选项可以与 -a选项组合使用-o 显示与每个连接相关的所属进程 ID。
-p proto 显示 proto 指定的协议的连接;proto 可以是下列协议之一: TCP、UDP、TCPv6 或 UDPv6。
如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一:IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
-r 显示路由表。
-s 显示按协议统计信息。
默认地,显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;-p 选项用于指定默认情况的子集。
-v 与 -b 选项一起使用时将显示包含于为所有可执行组件创建连接或监听端口的组件interval 重新显示选定统计信息,每次显示之间暂停时间间隔(以秒计)。
按 CTRL+C 停止重新显示统计信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在企业版Eclipse中,在已经启动了Tomcat服务器后,准备运行页面或Servlet时,有时会出现这样的关于Tomcat服务器端口占用的问题:
“Several ports (8005, 8080, 8009) required by Tomcat v6.0 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).”
错误信息的大意是说Tomcat运行所需的那三个端口被被的程序占用了。
我个人遇到过的的原因大概有以下几种:
情况一:点击运行的时候没有选中页面或Servlet窗口的标签
情况如下图:
仔细观察可知,左图其实并没有选中要运行的Servlet窗口的标签,因为标签是白色的,此时点击运行按钮的话相当于再启动一个服务器进程,端口当然是被原来那个已经启动的服务器给占了。
而右图中Servlet窗口标签是蓝色的,说明已经被选中了,点击绿色的运行按钮后自然就是将这个Servlet装入已经启动的那个服务器运行,所以不会有像刚才那种端口占用的情况。
情况二:在硬盘的两个地方都有Tomcat
下面说说我碰到过的另一种情况,以前在D盘安装过一个Tomcat,后来因为有段时间不怎么用,就忽略了。
再后来又开始做练习的时候,在C盘装了另一个Tomcat,并且在Eclipse中配置的时候也是默认选择了C盘的那个Tomcat。
悲剧的是,因为原来在D盘的那个Tomcat我设成了开机启动,所以端口一开始就被它占着。
因此,在Eclipse中启动
Tomcat(C盘那个)时,就出现了端口占用的错误提示。
后来把D盘的Tomcat删除后,在Eclipse中就能正常运行页面了。
情况三:(8005,8080,8009)三个端口中的至少一个被其他程序占用
这种情况很难一下子看出来,不过反正就是要找出到底是哪个程序占用了这几个端口。
可以在控制台里用“netstat -abn”命令查看正在运行的程序所占用的端口以及相关信息:
可以看到,是"javaw.exe"这个程序占用了8009和8080端口,在资源管理器中把它结束掉就可以了。
当然,还可能有其他情况导致的原因。
慢慢探索吧。