tomcat守护相关(centos7)

今天在部署自己的服务到CentOS7服务器上tomcat中时,担心服务宕机想守护一下服务程序,于是现在网上找了一个用while写的循环守护脚本,后来发现这种方式占用cpu太高了,而且有延迟.后来发现tomcat安装目录的bin目录下有一个deamon.sh的脚本文件,这不就是守护脚本,于是google一番。弄好之后,kill服务没有延迟服务就启动起来了,而且占用cpu很少,几乎可以忽略,在这里记录一下。

step 1 准备工作

安装jdk

这没什么好说的在官网下载jdk解压到相应的目录,我放到了 /usr/local/opt/java 下.可以编辑 /etc/profile在文件最后添加

然后在执行 source /etc/profile, 在bash中使用java -version查看是否jdk是否安装成功.

另外,说一句可以不修改/etc/profile文件,而修改tomcat的启动脚本,和守护脚本,我比较推荐修改tomcat的启动脚本和守护脚本的方式使用java环境.

安装gcc编译器;

使用命令 yum -y install gcc gcc-c++ make expat-devel 安装编译环境;

编译jsvc

tomcat 的bin目录下有jsvc的安装包 commons-daemon-native.tar.gz

    tar -zxvf commons-daemon-native.tar.gz
cd ./commons-daemon-1.1.0-native-src/unix
./configure --with-java=/usr/local/opt/java/jdk1.8.0_191
make
cp jsvc ../..

如上将jsvc复制到了tomcat的bin目录下

step 2 配置脚本

修改tomcat的启动脚本 ./bin/startup.sh脚本,在文件头插入

修改tomcat的关闭脚本 ./bin/shutdown.sh脚本,在文件头插入上图一样的内容

修改./bin/daemon.sh脚本,或者在启动的时候制定参数

额外说明:

* catalina.home(安装目录):指向公用信息的位置,就是bin和lib的父目录。

* catalina.base(工作目录):指向每个Tomcat目录私有信息的位置,就是conf、logs、temp、webapps和work的父目录。

仅运行一个Tomcat实例时,这两个属性指向的位置是相同的。

也可以直接修改daemon.sh内容的:

vim /home/cts/tomcat/apache-tomcat-8.5.37/bin/daemon.sh

添加如下改动:

1. 在首行 #!/bin/sh 的下一行添加一条服务配置信息
# chkconfig: 2345 20 80
补充说明:注意#不能去掉。#chkconfig 的2345表示默认服务级别,启动顺序为20,关闭顺序为80。 2. 在代码最开始位置添加JAVA_HOME和CATALINA_HOME路径,如下
export JAVA_HOME=/usr/local/opt/java/jdk1.8.0_191
export TOMCAT_HOME=/usr/local/opt/servers/tomcat-filestore-test
export CATALINA_HOME=$TOMCAT_HOME
export CATALINA_BASE=$TOMCAT_HOME 3. 更改TOMCAT_USER
找到 test ".$TOMCAT_USER" = . && TOMCAT_USER= 这一行,在等号后面加上用户
如:test ".$TOMCAT_USER" = . && TOMCAT_USER= root
补充说明:
如果用root用户启动,也可以不指定,在start模块里面去掉-user $TOMCAT_USER \ 4.指定日志位置,也可以默认。
找到test ".$CATALINA_OUT" = . && CATALINA_OUT=这行,更改路径。
如:test ".$CATALINA_OUT" = . && CATALINA_OUT="$CATALINA_BASE/logs/catalina-daemon.out"

step3 现在可以启动

./daemon.sh start (指定参数或修改后的文件)

使用netstat -tunlp 找到服务的pid,然后使用kill -9 {pid},然后在netstat -tunlp查看端口占用,

参考文章:

https://blog.csdn.net/chszs/article/details/49153881

https://blog.csdn.net/alger_magic/article/details/85159821

tomcat守护相关的更多相关文章

  1. Liunx下的有关于tomcat的相关操作 && Liunx 常用指令

    先记录以下liunx下的有关于tomcat的相关操作 查看tomcat进程: ps-ef|grep java (回车) 停止tomcat进程: kill -9 PID (进程号如77447) (回车) ...

  2. 第一次项目上Linux服务器(三:安装Tomcat及相关命令)

    一.下载Tomcat 去官网:http://tomcat.apache.org/ 找到要下载的Tomcat 本人下载的是apache-tomcat-8.5.29.tar.gz,百度云资源链接:链接:h ...

  3. tomcat的相关

    [针对tomcat修改,那么就直接找关于tomcat的相关文件目录进行修改即可] 1.对tomcat进行相关的操作,启动tomcat时,让其不要出现tomcat主页,与之相反的让其出现404的界面! ...

  4. Tomcat中相关配置详解

    tomcat的相关配置 server.xml <Server port="8005" shutdown="SHUTDOWN"> <!-- 属性 ...

  5. tomcat的相关使用

    tomcat服务器是apache下非常优秀的一款web服务器,当今的互联网企业中90%左右的中小型企业使用的都是tomcat.tomcat在部署项目时有很多很多的解决方案,这些你都清楚吗? 1.同一个 ...

  6. Tomcat服务相关

    1. 将Tomcat安装成服务. 找到bin\service.bat文件,往cmd命令行窗口一拉,如果只提示service /remove [../..]那就是Tomcat和java的路径配置没问题. ...

  7. Tomcat的相关配置

    一.Tomcat背景 自从JSP发布之后,推出了各式各样的JSP引擎.Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JS ...

  8. Eclipse中tomcat之后,tomcat的相关配置会被Eclipse重置

    之前用MyEclipse,在tomcat的conf中修改了配置文件,启动就OK了. 现在改用Eclipse,发现改了,之后发现没有用,Eclipse重启tomcat之后,配置文件就被重置了. 众里寻他 ...

  9. Apache整合Tomcat的相关问题

    一.概述 在开发中遇到一个问题,tomcat 与Apache服务器适配的问题.客户那边是用wampserver这个集成软件,Aapche版本为2.4.9.想要将tomcat上的jsp显示在Apache ...

随机推荐

  1. DWZ 在js中刷新某个navTab

    当时的想法是: 上传一个文件成功后 刷新navTab ,关闭上传文件dialog. function fileNameBack(args){ //表单毁掉函数 alertMsg.correct(arg ...

  2. border-radius,box-shadow兼容性解决办法

    css3 border-radius不支持IE8/IE7的四种解决方法 标签: cssborder-radius兼容性   时间:2016-07-18 css3 border-radius用于设置HT ...

  3. 转自:阮一峰 Git远程操作详解

      对于git的一些指令还是有些生疏,而且在课堂上讲的只是简单介绍了一些功能,并没有具体深入,看到这篇文章之后,觉得比较详细,所以转了过来. Git是目前最流行的版本管理系统,学会Git几乎成了开发者 ...

  4. 在Raspbian Stretch系统上设置Home Assistant开机启动

    较新的Linux发行版趋向于用systemd管理守护进程,如果您不确定系统是否正在使用systemd,您可以使用以下命令进行检查: -o comm= 如果上述命令返回字符串systemd,说明系统正在 ...

  5. 刷新浏览器 protractor

    //refresh browser.ignoreSynchronization = true; browser.refresh(); browser.sleep(3000); browser.swit ...

  6. [转]如何正确学习JavaScript

    原文:How to Learn JavaScript Properly(2014-2-7) 学习时长:6-8周 学习前提:中学水平,无需编程经验 更新(2014-1-7) 在Reddit上创建了一个学 ...

  7. 《Spring实战》读书笔记——如何实现自动化装配

    加我微信公众号,一起夯实Java基础,向着诗和远方出发吧~ 如果所有的装配工作都交给Spring来自动完成,减少人工的干预,是不是就能减少依赖关系配置带来的麻烦呢?认真做自己的事儿吧,装配交给Spri ...

  8. 在进行多次scanf时,printf输出错误

    随便一处代码,经过改正后,输出正确的 ''' #include <stdio.h> int main(){    int T;    scanf("%d",&T ...

  9. 15个HTML元素方法!

    首先让我们来讨论一下 HTML 与 DOM 之间的区别. 显然,普通的 <table> 元素就是一段 HTML 代码,它可以应用在任何一个以 .html 为扩展名的文件中.元素自带一系列特 ...

  10. java第二章总结与感想

    本章主要介绍Java程序设计环境,下面一节一节的记录: 2.1 安装java工具箱(JDK): 2.1.1, 下载JDK: 这一节主要介绍了以下知识点: (1)jdk的下载地址: (2)一些java术 ...