• tomcat守护相关


    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

  • 相关阅读:
    从spring官网下载spring 架包
    bootstrap-dialog插件的使用
    underscore.js,js工具库
    datatables,表格
    formvalidation表单验证
    数字千分位处理,number.js,js保留两位,整数强制保留两位小数
    js精确计算
    django F和Q 关键字使用
    django 的多对多关系
    django中的一对一的关系
  • 原文地址:https://www.cnblogs.com/xueye9/p/10287681.html
Copyright © 2020-2023  润新知