为什么我的tomcat启动不起来
目录
- 现象:
- 端口占用:
- 文件拼写错误:
现象:
tomcat安装好了,准备部署Web项目了,启动tomcat,发现没有反应。
虽然显示了Tomcat started。但是这个 started不等同于 success,当我们打开浏览器访问8080端口的时候,却发现我们的tomcat并没有被启动。
网上大多的教程都是教我们去查端口占用,或者是配置jdk环境。但其实应该从原因上进行分析,这样才能有效的推导出结果
(我最开始的错误就是有一个有错误的war包,导致tomcat启动不起来,这种如果按网上的教程是发现不出来的)
tomcat的logs目录下,存放着它所有的日志,在tomcat启动时的日志,是存储在catalina.***.log中的,***代表日期,我们可以找到当前日期的catalina.***.log,通过日志信息来定位问题
端口占用:
这个时候我们可以先查出来占用端口的线程:
lsof -nP -i:8080
然后再杀掉该线程即可:
kill -9 pid
文件拼写错误:
通过错误信息我们可以看出,这个问题产生的原因是文件第二行存在拼写错误,我们打开文件,发现文件的第一行有一个空格,删掉首行空格即可。
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0" metadata-complete="true"> <description> Servlet Example. </description> <display-name> MyServlet Example </display-name> <request-character-encoding>UTF-8</request-character-encoding> <servlet> <servlet-name>myServlet</servlet-name> <servlet-class>MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>myServlet</servlet-name> <url-pattern>/myservlet</url-pattern> </servlet-mapping> </web-app>
到此这篇关于为什么我的tomcat启动不起来的文章就介绍到这了,更多相关tomcat启动不起来内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
Tomcat 启动错误(8080端口被占用)处理方法
错误描述: 2009-7-12 15:40:35 org.apache.coyote.http11.Http11BaseProtocol start 严重: Error starting endpoint java.net.BindException: Address already in use: JVM_Bind:8080 at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:298)
-
tomcat启动报错:java.util.zip.ZipException的解决方法
发现问题 早上起来报错误,Jenkins打包到tomcat服务器,死活启动不起来,一些定时任务也没跑成功. 报错如下: org.apache.catalina.startup.ContextConfig.beforeStart Exception fixing docBase for context [/test] java.util.zip.ZipException: error in opening zip file at java.util.zip.ZipFile.open(Native
-
tomcat启动startup.bat一闪而过问题的解决方法【亲测有效】
遇到很多次运行startup.bat后,一个窗口一闪而过的问题,但是从来没去纠正怎样修改配置才是正确的,现在从网上查阅的资料整理如下: tomcat在启动时,会读取环境变量的信息,需要一个CATALINA_HOME 与JAVA_HOME的信息,CATALINA_HOME即tomcat的主目录,JAVA_HOME即java安装的主目录,jdk的主目录. 首先,要在环境变量处,配置JAVA_HOME,注意变量值是jdk的主目录,不是bin目录,并且不要加分号,如图: 然后,如果这样配置,startu
-
Tomcat 启动时 SecureRandom 非常慢解决办法
Tomcat 启动时 SecureRandom 非常慢解决办法 最近使用阿里云的 Ubuntu 16.04 ESC 服务器运行 Tomcat 时发现,Tomcat 启动的特别慢,通过查看日志,发现时间主要花在实例化 SecureRandom 对象上了. 由该日志可以看出,实例化该对象使用了253秒,导致整个应用启动了275秒之久. 注意这条日志: org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation
-
Tomcat服务无法启动的问题的解决方法
去年下半年公司就决定投入人力物力"跟风"做大数据方向的研究并应用到后续项目中,于是乎,我们也得熟悉下Java才行了. 先弄个JavaEE的开发环境再说吧.装JDK.JRE,其实JDK下面已经有JRE了,如果在服务器上的话,只需装JRE:然后配置环境变量: 新建:JAVA_HOME:D:\Java\jdk1.7.0_51新建:CLASS_PATH:.;%JAVA_HOME%\lib编辑:PATH:在最前面加上 %JAVA_HOME%\bin; 接着装Tomcat,startup.bat.
-
Tomcat正常启动,访问所有页面均报404异常,404异常总结分析
404异常,很常见,大多情况是路径错误.web.xml文件映射路径写错.服务器设置.servlet的jar包未导进去或者没有随项目发布等等. 如果是路径错误,仔细检查即可解决问题. 服务器没设置好也会报这个错误,这一般是新手刚开始学时遇到的问题,就是要把eclipse中的tomcat的server location设置为use tomcat installation,在eclipse界面双击tomcat server见如图设置: 如果是servlet的jar包问题,则通过build path引入
-
直接双击启动tomcat中的startup.bat闪退原因及解决方法
免安装的tomcat双击startup.bat后,启动窗口一闪而过,而且tomcat服务未启动. 原因是:在启动tomcat是,需要读取环境变量和配置信息,缺少了这些信息,就不能登记环境变量,导致了tomcat的闪退. 解决办法: 1.在已解压的tomcat的bin文件夹下找到startup.bat,右击->编辑.在文件头加入下面两行: SET JAVA_HOME=D:\Java\jdk1.6.0_10 (java jdk目录) SET TOMCAT_HOME=E:\tomcat-6.0.35
-
Linux下Tomcat启动正常,但浏览器无法访问的解决方法
1.服务器可ping通 2.服务器抓本地的http请求包,可以抓到 3.本地抓服务器返回的http响应包,抓不到 经过查找,是由于开启了Linux防火墙 查看防火墙配置(需要root权限) [root@localhost ~]# service iptables status Redirecting to /bin/systemctl status iptables.service iptables.service - IPv4 firewall with iptables Loaded: l
-
详解Windows下调整Tomcat启动参数的实现方法
Windows下调整Tomcat启动参数 Tomcat默认可以使用的内存为128MB,对于访问数比较多.比较吃内存的应用来说,这是不够的.我们可以通过调整Java虚拟机的启动参数来增加Tomcat可使用的内存. 下面就是众所周知的两个参数 -Xms<size> JVM初始化堆的大小 -Xmx<size> JVM堆的最大值 比如,我想设置初始内存大小为128M,最多占用1G,就是下面的设置: -Xms128m -Xmx1024m 在Linux/Unix下,可以通过在 {tomcat
-
Tomcat启动时报错:java.lang.UnsatisfiedLinkError的解决
问题 之前tomcat启动老是报错,虽然不影响项目的启动运行,但是有强迫症的程序员会心里不爽: 如下: 问题分析 由于本机安装的jdk版本与tomcat中使用的jdk版本不一致导致的. 解决方法 后面我把原先tomcat启动环境用的jdk1.7改为了本机安装的jdk1.8就不在报错. 具体过程: 在myeclipse中点击window→preference→在搜索框中输入Tomcat→选择安装的tomcat版本,我这里是选择Tomcat 7.x→点击JDK→在Tomcat 7.x JDK nam
-
SpringBoot Tomcat启动实例代码详解
废话不多了,具体内容如下所示: Application configuration class: @SpringBootApplication public class ServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return appli
-
Tomcat启动成功访问主页失败的原因解决方案
Tomcat启动成功访问主页失败的原因解决方案 如果在 网上搜一圈"tomcat启动成功,当输入http://localhost:8080报404错误".有说查看日志定位问题的,有说检查端口有没有冲突,建议去server.xml修改端口的:有建议在cmd命令中输入netstat -ano查看tomcat端口是否已经被使用的:也有说环境变量配置有问题的. 这些可能都是对的,但还有一种情况容易被忽视:tomcat,webapps目录下没有ROOT文件夹! 有经验的人看到这个可能会淡淡的一笑
-
利用systemctl管理Tomcat启动、停止、重启及开机启动详解
前言 本文主要给大家介绍了关于systemctl管理Tomcat启动.停止.重启及开机启动的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 1. 创建服务 用service来管理服务的时候,是在/etc/init.d/目录中创建一个脚本文件,来管理服务的启动和停止,在systemctl中,也类似,文件目录有所不同,在/lib/systemd/system目录下创建一个脚本文件tomcat,里面的内容如下: [Unit] Description=Tomcat After
-
Tomcat启动分析(我们为什么要配置CATALINA_HOME环境变量)
用文本编辑工具打开用于启动Tomcat的批处理文件startup.bat,仔细阅读.在这个文件中,首先判断CATALINA_HOME环境变量是否为空,如果为空,就将当前目录设为CATALINA_HOME的值.接着判断当前目录下是否存在bin\catalina.bat,如果文件不存在,将当前目录的父目录设为CATALINA_HOME的值.根据笔者机器上Tomcat安装目录的层次结构,最后CATALINA_HOME的值被设为Tomcat的安装目录.如果环境变量CATALINA_HOME已经存在,则通
-
Tomcat启动失败的问题排查与解决
前言 最近在某应用更新代码后部分机器发布失败,发布失败的机器上Tomcat一直没有启动成功,日志卡在Deploying web application,重启数次之后仍然是一样的情况.所以进行排查问题,下面记录了所有的排查过程,需要的朋友们可以参考学习. 排查过程 1. Tomcat启动线程卡住 下文中Tomcat启动线程代指线程名为localhost-startStop-$id的线程. 使用jstack打印出Tomcat的线程堆栈: jstack `jps |grep Bootstrap |aw
-
非常实用的Tomcat启动脚本实现方法
前言 有这样一个场景,公司为了安全起见,需要对所有登录Linux服务器做安全限制,要求除了管理员其他要登录linux服务器的员工不能用最高权限账号登录,要创建新的用户,对目录及文件权限做出控制,只能对需要操作的目录允许读,写,执行权限,其他目录只有读的权限,并且所有tomcat不能直接在bin中用startup.sh,shutdown.sh进行启动和停止,要通过写shell脚本进行此操作,也就是说有两个步骤,创建用户并设置权限,写tomcat启动脚本,下面我们就完成这两个步骤. 1.首先我们就来
随机推荐
- Angularjs中使用layDate日期控件示例
- 使用cmd命令行窗口操作SqlServer的方法
- 花生壳与PcAnyWhere图文教程 全攻略
- Javascript 是你的高阶函数(高级应用)
- 利用JS制作万年历的方法
- 判断输入的日期是否正确的shell脚本
- python利用不到一百行代码实现一个小siri
- Python在Console下显示文本进度条的方法
- ASP基础入门第二篇(ASP基础知识)
- JSP动态输出Excel及中文乱码的解决
- 深入理解C#中foreach遍历的使用方法
- PHPMailer发送HTML内容、带附件的邮件实例
- XML入门的常见问题(三)
- jquery如何改变html标签的样式(两种实现方法)
- jQuery检测鼠标左键和右键点击的方法
- 拖动层效果,兼容IE和FF!第1/2页
- js操作checkbox遇到的问题解决
- JavaScript中判断原生函数检查function是否是原生代码
- AS3脚本编写的计时器效果代码
- mybatis实现增删改查_动力节点Java学院整理