首先,我们先看看该Tomcat是否在运行,输入如下指令然后回车,
你可能会看到下面两种情况的其中之一
情况一:
信息很多,不一一解释,反正意思就是目前没有Tomcat正在运行
情况二:
可以看出,当前有两个Tomcat服务正在运行,绿色的框内的数字,表示运行该服务的进程id,框的内容表示该Tomcat的的执行路径,其他新增暂时不理。
如果当前Tomcat没有在运行,则可以直接启动,进入到Tomcat下的bin目录,输入 /startupsh
就可以启动该Tomcat服务,启动成功后重新输入 ps -ef|grep java 就会出现类似图二的画面
如果当前的Tomcat正在运行,我们需要关掉该Tomcat服务后再执行 /startupsh ,即可重启该Tomcat服务,关掉Tomcat的方式有两种方法,
第一种:直接用Tomcat的脚本进行,进入到Tomcat的目录下,输入命令 /shutdownsh 执行Tomcat的关闭服务脚本,Tomcat即可正常关闭,但是Tomcat并不是完全关闭,一般使用第二种方式关闭
第二种:使用linux命令直接杀掉Tomcat的进程,输入如下指令 kill -9 28003 这里的28003就是该Tomcat服务的进程,至于为什么要在前面加上 -9 ,其实kill就是给某个进程id发送了一个信号。默认发送的信号是SIGTERM,而kill -9发送的信号是SIGKILL,即exit。exit信号不会被系统阻塞,所以kill -9能顺利杀掉进程。当然你也可以使用kill发送其他信号给进程。
杀死Tomcat进程后,就可以按照前面启动Tomcat的脚本进行启动。服务器环境:
腾讯云1核2G
*** 作系统:CentOS7
最近将项目部署到服务器后发现tomcat总是过一段时间会自动关掉。
查看系统日志
发现如下内容:
原因分析:linux会定时检查系统内存大小,发现剩余内存过小时会自动优先清理占用内存较大的进程,因此tomcat进程经常会被系统清除掉
(1)创建脚本文件tomcatMonitorsh
(2)对脚本文件授权
(3)将脚本文件加入到定时任务中
添加如下内容
保存并退出
(如果出现以下内容,则输入3进入vim编辑模式再进行编辑)
具体crontab命令参考: >打开log一一查看里面的内容
Cataline引擎的日志文件,文件名catalina日期log
Tomcat下内部代码丢出的日志,文件名localhost日期log(jsp页面内部错误的异常,orgapachejasperruntime>Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。
Tomcat40x中采用了新的Servlet容器:Catalina,完整的实现了Servlet23和Jsp12规范。Tomcat提供了各种平台的版本供下载,可以从其官方网站上下载其源代码版或者二进制版。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(Web Archive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个webxml文件和一个classes目录,webxml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便。
在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。
Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet这种集成只需要修改一下Apache和Tomcat的配置文件即可。
另外,Tomcat提供Realm支持。Realm类似于Unix里面的group在Unix中,一个group对应着系统的一定资源,某个group不能访问不属于它的资源。Tomcat用Realm来对不同的应用(类似系统资源)赋给不同的用户(类似group)。没有权限的用户则不能访问这个应用。Tomcat提供三种Realm,1:JDBCRealm,这个Realm将用户信息存在数据库里,通过JDBC获得用户信息来进行验证。2:JNDIRealm,用户信息存在基于LDAP的服务器里,通过JNDI获取用户信息。3:MemoryRealm,用户信息存在一个xml文件里面,上面讲的manager应用验证用户时即使用此种Realm通过Realm我们可以方便地对访问某个应用的客户进行验证。
在Tomcat4中,你还可以利用Servlet23提供的事件监听器功能,来对你的应用或者Session实行监听。Tomcat也提供其它的一些特征,如与SSL集成到一块,实现安全传输。还有Tomcat也提供JNDI支持,这与那些J2EE应用服务器提供的是一致的。说到这里我们要介绍一下通常所说的应用服务器(如WebLogic)与Tomcat有何区别。应用服务器提供更多的J2EE特征,如EJB,JMS,JAAS等,同时也支持Jsp和Servlet而Tomcat则功能没有那么强大,它不提供EJB等支持。但如果与JBoss(一个开源的应用服务器)集成到一块,则可以实现J2EE的全部功能。既然应用服务器具有Tomcat的功能,那么Tomcat有没有存在的必要呢?事实上,我们的很多中小应用不需要采用EJB等技术,Jsp和Servlet已经足够,这时如果用应用服务器就有些浪费了。而Tomcat短小精悍,配置方便,能满足我们的需求,这种情况下我们自然会选择Tomcat
基于Tomcat的开发其实主要是Jsp和Servlet的开发,开发Jsp和Servlet非常简单,你可以用普通的文本编辑器或者IDE,然后将其打包成WAR即可。我们这里要提到另外一个工具Ant,Ant也是Jakarta中的一个子项目,它所实现的功能类似于Unix中的make你需要写一个buildxml文件,然后运行Ant就可以完成xml文件中定义的工作,这个工具对于一个大的应用来说非常好,我们只需在xml中写很少的东西就可以将其编译并打包成WAR事实上,在很多应用服务器的发布中都包含了Ant另外,在Jsp12中,可以利用标签库实现Java代码与Html文件的分离,使Jsp的维护更方便。
Tomcat也可以与其它一些软件集成起来实现更多的功能。如与上面提到的JBoss集成起来开发EJB,与Cocoon(Apache的另外一个项目)集成起来开发基于Xml的应用,与OpenJMS集成起来开发JMS应用,除了我们提到的这几种,可以与Tomcat集成的软件还有很多。idea关闭tomcat服务器卡住解决办法如下:
1、查出tomcat的所有进程。
2、根据pid杀死tomcat的所有进程。
3、idea tomcat server配置窗口,勾选Demploy applications configured in Tomcat instance可以解决这个问题。
4、重新启动tomcat。
出现问题的原因是当前项目有其他的线程未关闭或者在idea tomcat server配置窗口中没有勾选端口实例对象。linux重启tomcat服务命令需要分五步进行,下面是具体介绍:
1、进入linux下tomcat目录,查看tomcat配置在linux的哪个位置下,命令如下:
2、查看当前启动的tomcat使用的进程,查看发现tomcat占用了1630端口,命令如下:
3、将进程给杀掉,命令如下:
4、关闭服务后,重启tomcat服务器,命令如下:
5、查看日志(是否启动正常),也可以直接在浏览器访问查看,命令如下:
以上就是小编今天的分享了,希望可以帮助到大家。
本文章基于thinkpadE15品牌、centos7系统撰写的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)