专栏首页简单的日记tomcat开机启动和服务

tomcat开机启动和服务

建立自启动脚本:

vim /etc/init.d/tomcat

输入如下内容:

#!/bin/bash
#
# tomcat startup script for the Tomcat server
#
# chkconfig: 345 80 20
# description: start the tomcat deamon
#
# Source function library
. /etc/rc.d/init.d/functions

prog=tomcat
JAVA_HOME=/java/jdk1.7.0_79
export JAVA_HOME
CATALANA_HOME=/java/apache-tomcat-7.0.69
export CATALINA_HOME

case "$1" in
start)
    echo "Starting Tomcat..."
    $CATALANA_HOME/bin/startup.sh
    ;;

stop)
    echo "Stopping Tomcat..."
    $CATALANA_HOME/bin/shutdown.sh
    ;;

restart)
    echo "Stopping Tomcat..."
    $CATALANA_HOME/bin/shutdown.sh
    sleep 2
    echo
    echo "Starting Tomcat..."
    $CATALANA_HOME/bin/startup.sh
    ;;

*)
    echo "Usage: $prog {start|stop|restart}"
    ;;
esac
exit 0

说明: 这里的启动脚本可以把它分为3个部分,第一部分是申明启动脚本和注释,第二部分是定义路径的变量,第三部分是一个case...in条件选择结构。

第一部分 1)因为是个shell脚本,所以开始必须要有#!/bin/bash这一行,这里表示使用的shell是bash。 2)# chkconfig: 345 80 20是让chkconfig命令能够识别这个启动脚本,必须要有,其余带#的都是注释说明。 3). /etc/rc.d/init.d/functions是在当前shell下执行functions这个文件,而不是在子shell中执行。它类似于库函数,后面的启动脚本可能会调用functions内的基础函数。

第二部分 1)从prog=tomcat开始,设定了3个变量,使用prog定义脚本名称,JAVA_HOME定义JDK安装目录,CATALANA_HOME定义tomcat安装目录。 2)export命令是使定义的变量在子shell中也可以使用。

第三部分 1)第三部分是一个case条件选择结构,语法结构如下:

case 字符串 in
  值1 )
    操作 ;;
  值2 )
    操作 ;;
  值3 )
    操作 ;;
  ...
  *)
    操作 ;;
esac

2)$1是一个位置参数,位置参数是一种在调用shell程序的命令行中按照各自的位置决定的变量,是在程序名之后输入的参数。位置参数之间用空格分隔,shell取第一个位置参数替换程序文件中的$1,第二个替换$2,依次类推。3)$CATALANA_HOME/bin/startup.sh表示启动tomcat。

3)$CATALANA_HOME/bin/startup.sh表示启动tomcat。 4)$CATALANA_HOME/bin/shutdown.sh表示停止tomcat。 5)sleep 2 表示休眠2秒。 6)exit 0 表示退出。

chmod 755 /etc/init.d/tomcat 赋予权限

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • nginx搭建 负载均衡

    配置/usr/local/nginx/conf/nginx.conf的http,配置vhost虚拟主机目录,然后配置vhost下的比如LB.conf文件。

    用户1499526
  • oracle命令基本操作

    创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。

    用户1499526
  • Spring boot学习

    通常建议将应用的main类放到其他类所在包的顶层(root package),并将 @EnableAutoConfiguration 注解到你的mai...

    用户1499526
  • 产业安全专家谈|色情/性感如何区分,企业应该如何做好内容风控?

     “道路千万条,安全第一条,行车不规范,亲人两行泪”——这句话,出自科幻电影《流浪地球》,却也恰巧概括出内容平台的“辛酸经历”。

    腾讯安全
  • 细说shiro之二:组件架构

    Shiro主要组件包括:Subject,SecurityManager,Authenticator,Authorizer,SessionManager,Cach...

    2Simple
  • K8S 生态周报| 2019-06-24~2019-06-30

    「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」。

    Jintao Zhang
  • Libssl Segfaults on python3.6 With Threading

    openssl1.0.0 和 openssl1.0.1 使用Python3.6的绑定:

    happy123.me
  • python3.7——openssl升级

    [root@python3_7 soft]# wget https://www.openssl.org/source/openssl-1.1.0j.tar.gz

    py3study
  • Android 开发: 小工具,大效率

    首先申明下,此Hugo非 彼Hugo(Hugo是由Go语言实现的静态网站生成器)。本文主要介绍几种比较 nice 的插件和工具,有利于改善代码质量及效率提高.

    姚志锋
  • 真正掌握vuex的使用方法(一)

    咱们知道,vue项目当中的父子组件的交互是单通道传递,父组件通过props向子组件传递参数,而在子组件当中不不能直接修改接收的参数,而是需要通过自定义事件的方式...

    用户1272076

扫码关注云+社区

领取腾讯云代金券