tomcat7 linux service

1. 创建tomcat用户

useradd -r -m -d /usr/local/tomcat7 -s /sbin/nologin tomcat

2. 将下面脚本命名为tomcat7 放入/etc/init.d/文件夹下即可

#!/bin/bash
#
# tomcat7     This shell script takes care of starting and stopping Tomcat
#
# chkconfig: - 80 20
#
### BEGIN INIT INFO
# Provides: tomcat7
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start:
# Default-Stop:
# Description: Release implementation for Servlet 2.5 and JSP 2.1
# Short-Description: start and stop tomcat
### END INIT INFO

#useradd -r -m -d ${TOMCAT_HOME} -s /sbin/nologin tomcat
#useradd -r -m -d /usr/local/tomcat7 -s /sbin/nologin tomcat

## Source function library.
#. /etc/rc.d/init.d/functions
export JAVA_OPTS="-Dfile.encoding=UTF-8 \
  -Dcatalina.logbase=/var/log/tomcat7   -Dnet.sf.ehcache.skipUpdateCheck=true   -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.EPollSelectorProvider   -XX:+DoEscapeAnalysis   -XX:+UseConcMarkSweepGC   -XX:+CMSClassUnloadingEnabled   -XX:+UseParNewGC   -XX:MaxPermSize=256m   -XX:PermSize=256m   -XX:MaxNewSize=512m   -Xms4096m -Xmx4096m"
TOMCAT_HOME=/usr/local/tomcat7
SHUTDOWN_WAIT=5
export JAVA_HOME=‘/usr/java/jdk1.7.0_67‘
export PATH=$JAVA_HOME/bin:$PATH

tomcat_pid() {
  echo `ps aux | grep org.apache.catalina.startup.Bootstrap | grep -v grep | awk ‘{ print $2 }‘`
}

start() {
  pid=$(tomcat_pid)
  if [ -n "$pid" ]
  then
    echo "Tomcat is already running (pid: $pid)"
  else
    # Start tomcat
    echo "Starting tomcat"
    ulimit -n 100000
    umask 007
    /bin/su -p -s /bin/sh tomcat $TOMCAT_HOME/bin/startup.sh
  fi

  return 0
}

stop() {
  pid=$(tomcat_pid)
  if [ -n "$pid" ]
  then
    echo "Stoping Tomcat"
    /bin/su -p -s /bin/sh tomcat $TOMCAT_HOME/bin/shutdown.sh

    let kwait=$SHUTDOWN_WAIT
    count=0;
    until [ `ps -p $pid | grep -c $pid` = ‘0‘ ] || [ $count -gt $kwait ]
    do
      echo -n -e "\nwaiting for processes to exit";
      sleep 1
      let count=$count+1;
    done

    if [ $count -gt $kwait ]; then
      echo -n -e "\nkilling processes which didn‘t stop after $SHUTDOWN_WAIT seconds"
      kill -9 $pid
    fi
  else
    echo "Tomcat is not running"
  fi

  return 0
}

log(){
     /bin/su -p -s /bin/sh tomcat -c "/usr/bin/tail -f $TOMCAT_HOME/logs/catalina.out"
}

case $1 in
log)
  log
;;
start)
  start
;;
stop)
  stop
;;
restart)
  stop
  start
;;
status)
  pid=$(tomcat_pid)
  if [ -n "$pid" ]
  then
    echo "Tomcat is running with pid: $pid"
  else
    echo "Tomcat is not running"
  fi
;;
esac
exit 0
时间: 2024-11-15 01:04:15

tomcat7 linux service的相关文章

linux service等命令不能使用的解决办法

主要是路径没添加进来: 在shell里面输入这条命令:export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2:/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/qt/3/bin 注意:中间没有换行! linux service等命令不能使用的解决办法

Linux service

一.简介 service指令是用于管理Linux操作系统中服务的命令.   二.注册系统服务 http://www.cnblogs.com/wangtao_20/archive/2014/04/04/3645690.html   三.实例 http://www.cnblogs.com/qq78292959/p/3633546.html

Linux service管理自定义脚本

今天需要在服务器上启动多个MySQL实例 新加的MySQL实例不能用mysqld_multi 管理,所以就自定了个mysql_3307服务,用service管理 可以看看service的代码,都是些简单的shell脚本 service的原理就是去/etc/init.d下找对应的服务脚本,然后调用脚本,service的第二个参数是传给调用的服务作为第一个参数 因此可以自已在/etc/init.d下写一个脚本,脚本中定义相应的start,stop,status等或者也可以自己加些别的动作,在增加个执

spring boot 部署为linux service

1.获取jar包权限 chmod 500 your-app.jar 2.新建service文件:/etc/systemd/system/myapp.service [Unit] Description=myapp After=syslog.target [Service] User=myapp ExecStart=/var/myapp/myapp.jar SuccessExitStatus=143 [Install] WantedBy=multi-user.target 3.启用systemct

Hadoop记录-Linux Service

[Unit] Description=Datanode After=syslog.target network.target auditd.service sshd.service datanode_precheck.service Requires=datanode_precheck.service [Service] User=hdfs Group=hdfs Type=forking Slice=hadoop.slice LimitNOFILE=524288 Environment=CLAS

linux service 例子

在 /etc/init.d/ 中创建新文件 #/bin/sh # 检查第一个参数是什么来执行对应动作 case $1 in start) /usr/local/php/bin/php-cgi -b 127.0.0.1:9000;; stop) /usr/local/php/bin/php-cgi -q;; esac 原文地址:https://www.cnblogs.com/lisq/p/8387030.html

Linux命令中service的用法

用途说明 service命令用于对系统服务进行管理,比如启动(start).停止(stop).重启(restart).查看状态(status)等.相关的命令还包括chkconfig.ntsysv等,chkconfig用于查看.设置服务的运行级别,ntsysv用于直观方便的设置各个服务是否自动启动.service命令本身是一个shell脚本,它在/etc/init.d/目录查找指定的服务脚本,然后调用该服务脚本来完成任务. 看看下面的手册页可能更加清楚的了解service的内幕:service运行

CentOS6 安装Tomcat7

CentOS6 安装Tomcat7 1:卸载掉自带的OpenJDK 2: 安装 JDK1.6 3:安装Tomcat 4: 配置Tomcat为daemon方式启动 下面正式开工 : =================================================== 1:卸载掉自带的OpenJDK 2: 安装 JDK1.6 参考: http://www.cnblogs.com/sixiweb/archive/2012/11/25/2787684.html 原文: 查看目前系统的j

拥抱Service Fabric —— 目录

理解分布式 经典分布式系统设计 分布式系统演进 Service Fabric基础概念 Node Type和Node Application Stateful Service Stateless Service Actor Service Fabric System Azure Service Fabric Azure Virtual Machine Scaleset Azure Load Balancer 开发Service Fabric应用 创建Azure Service Fabric 简单样