分享

linux入门之将tomcat注册为系统服务

 静幻堂 2018-09-15
HelloTeacher陈 2018-07-06 09:09:32

前言:

tomcat分为两种,一种是安装版,一种是解压版,安装版安装之后会自动注册系统服务,但是解压版就不会自动注册系统服务,今天我带着大家来实现解压版tomcat注册系统服务。

我们在Linux中启动或者关闭或者查看系统服务的状态的时候,其实都执行了该服务所对应的shell脚本文件,通常这些文件都保存在 /etc/init.d目录中,因此我们想要将tomcat注册进服务里,就需要在这个目录下编写一个对应的脚本文件。

1.创建一个mytomcat.sh脚本

1.1 创建

linux入门之将tomcat注册为系统服务

1.2 打开你创建的这个脚本文件

linux入门之将tomcat注册为系统服务

2. mytomcat脚本内容

2.1 头部

linux入门之将tomcat注册为系统服务

值得注意的是第四行并不是注释。其中的2345表示开机自启即0-6的 运行级别中将第2、第3、第4、第5级别设为on。90代表的是启动顺序,取值范围在0~99之间,数值越大,启动顺序越靠后。10代表的是关闭顺序,取值范围在0~99之间,数值越大表示关闭的顺序越晚。

启动和关闭的规则为:先启动的后关闭,后启动的先关闭。

3. 定义tomcat变量

linux入门之将tomcat注册为系统服务

3.1 图中3个变量分别代表的含义

tomcat_path:表示tomcat的目录在哪个路径

startup:表示启动tomcat的脚本文件的路径

shutdown:表示关闭tomcat的脚本文件的路径

4. 编写启动、停止、查看函数

linux入门之将tomcat注册为系统服务

在上图中22行代表的是进程的数量,23~29行代表的是如果数量大于0说明tomcat已经运行,此时输出tomcat正在运行,否则输出tomcat是停止的。

5. 判断传入的参数

linux入门之将tomcat注册为系统服务

$1表示传递过来的第一个参数,如果是start,就调用start函数,如果是stop,则调用stop函数,如果是status,则调用status函数,如果是restart,则调用restart函数,如果输入其他值,则直接退出并返回错误信息。

46行中,"Usage"代表的是用法,"$0"代表的是脚本的名称

"{start|stop|status|restart}"代表的是在传参时候传入其中任意一个可行参数

6.测试脚本

linux入门之将tomcat注册为系统服务

如上图,输入 ./mytomcat start提示mytomcat is running则运行成功

linux入门之将tomcat注册为系统服务

如上图,输入 ./mytomcat stop提示mytomcat is stopped则停止成功

linux入门之将tomcat注册为系统服务

如上图,输入./mytomcat status 提示 mytomcat is running 表示tomcat正在运行

linux入门之将tomcat注册为系统服务

如上图,输入./mytomcat restart 分别提示 mytomcat is stopped…和mytomcat is running…表示重启成功。

7.附录

linux入门之将tomcat注册为系统服务

hkconfig --add mytomcat 命令就是将名字为mytomcat的shell脚本注册进服务中

chkconfig -list命令查看服务列表中是否已经成功写入

linux入门之将tomcat注册为系统服务

8.附录

tomcat脚本代码:

#!/bin/bash

# mytomcat This shell iscript takes care of starting and stopping

# mytomcat.

# chkconfig: 2345 90 10

tomcat_path=/usr/local/tomcat7/apache-tomcat-7.0.78

startup=$tomcat_path/bin/startup.sh

shutdown=$tomcat_path/bin/shutdown.sh

start(){

$startup

echo "mytomcat is running..."

}

stop(){

$shutdown

echo "mytomcat is stopped..."

}

status(){

pidnum=`ps -ef | grep $tomcat_path|grep -v grep|wc -l`

if [ $pidnum -gt 0 ]

then

echo "mytomcat is running"

else

echo "mytomcat is stopped"

fi

}

# See how we were called.

case "$1" in

start)

start

;;

stop)

stop

;;

status)

status

;;

restart)

stop

start

;;

*)

echo $"Usage: $0 {start|stop|status|restart}"

esac

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多