设为首页 收藏本站
查看: 775|回复: 0

[经验分享] linux 下tomcat7 配置为服务

[复制链接]

尚未签到

发表于 2015-11-14 11:50:47 | 显示全部楼层 |阅读模式
  tomcat5.版本 用

jsvc.tar.gz

6.0以上用  
  

tomcat_home/bin/commons-daemon-native.tar.gz

  
  本人从官网http://tomcat.apache.org/上面下载的Tomcat7.0.40版本,并解压包后改名存放在:/usr/share/tomcat7
  本人使用的是root用户登录,下面就说说具体的操作步骤,
  
  1、在/usr/share/tomcat6/bin中有commons-daemon-native.tar.gz 压缩包
  2、解压commons-daemon-native.tar.gz
      [iyunv@localhost ~]# tar -zxvf commons-daemon-native.tar.gz
  3、解压完成,出现commons-daemon-1.0.2-native-src文件夹(目录)
      1、  
进入commons-daemon-1.0.2-native-src 下的unix目录

              [iyunv@localhost ~]# ls
              [iyunv@localhost ~]# cdcommons-daemon-1.0.2-native-src/unix
      2、  
发现configure 配置文件,执行如下修改属性的命令

              [iyunv@localhost ~]# chmod 777 configure
  4、  
执行configure 文件

      [iyunv@localhost ~]# ./configure
  如果以上命令没有执行或者有错;请安装:


因为是centos linux,默认可以采用yum方式安装,则采用如下命令安装gcc编译器即可:
# yum -y install gcc

安装更新了如下几个组件:
gcc 4.1.2-44.el5
binutils 2.17.50.0.6-9.el5
cpp 4.1.2-44.el5
glibc-devel 2.5-34.el5_3.1
glibc-headers 2.5-34.el5_3.1
kernel-headers 2.6.18-164.el5
libgomp 4.3.2-7.el5

  
  5、  
编译

      make命令如果提示没有或报错那么需要安装  :
  

错误:-bash: make: command not found
  -bash: make: command not found
  [iyunv@ch4db httpd-2.2.15]# rpm -qa|grep make

[iyunv@ch4db httpd-2.2.15]#
  查出 没有make相关RPM
  正常服务器上有[iyunv@localhost ~]# rpm -qa|grep make

imake-1.0.2-3

make-3.81-3.el5
  
  所以只要安装上这个包就可以
  我是用的这2句话。


  yum install imake*
  yum install make*
  
  或者 yum -y install gcc automake autoconf libtool make


  


  安装成功


  
      [iyunv@localhost ~]# make   #会报错
      [iyunv@localhost ~]# make clean
      [iyunv@localhost ~]# make    #重新编译成功
  6、 编译完成后出现jsvc文件夹,复制jsvc/usr/share/tomcat6/bin目录下面
      [iyunv@localhost ~]# cp jsvc /usr/share/tomcat6/bin
  ------------------------------------------------------------------------------------
  10、在/etc/init.d/目录下编写tomcat6启动服务配置文件。
  [iyunv@localhost ~]#cd /etc/init.d/
  [iyunv@localhost ~]# vi tomcat6
  录入以下内容
  

#!/bin/sh

# chkconfig 2345 90 15

# description Tomcat-en Manager

# Licensed to the Apache Software Foundation (ASF) under one or more

# contributor license agreements.  See the NOTICE file distributed with

# this work for additional information regarding copyright ownership.

# The ASF licenses this file to You under the Apache License, Version 2.0

# (the "License"); you may not use this file except in compliance with

# the License.  You may obtain a copy of the License at

#

#     http://www.apache.org/licenses/LICENSE-2.0

#

# Unless required by applicable law or agreed to in writing, software

# distributed under the License is distributed on an "AS IS" BASIS,

# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

# See the License for the specific language governing permissions and

# limitations under the License.

#

# -----------------------------------------------------------------------------

# Commons Daemon wrapper script.

#

# $Id: daemon.sh 1202058 2011-11-15 06:37:12Z mturk $

# -----------------------------------------------------------------------------

#

# resolve links - $0 may be a softlink

JAVA_HOME=/home/application/jdk1.7.0_21

CATALINA_HOME=/usr/share/tomcat7/Tomcat7.0.40_Tomcat7-xx

DAEMON_HOME=$CATALINA_HOME/bin

TOMCAT_USER=root

CATALINA_BASE=$CATALINA_HOME

CATALINA_OPTS="-server -XX:MaxPermSize=512m -XX:MaxNewSize=512m -Xmx2048m"

proc="Tomcat xx" #注意这里的名字将会在启动或停止的时候显示(标识名称)

ARG0="$0"

while [ -h "$ARG0" ]; do

  ls=`ls -ld "$ARG0"`

  link=`expr "$ls" : '.*-> \(.*\)$'`

  if expr "$link" : '/.*' > /dev/null; then

    ARG0="$link"

  else

    ARG0="`dirname $ARG0`/$link"

  fi

done

DIRNAME="`dirname $ARG0`"

PROGRAM="`basename $ARG0`"

while [ ".$1" != . ]

do

  case "$1" in

    --java-home )

        JAVA_HOME="$2"

        shift; shift;

        continue

    ;;

    --catalina-home )

        CATALINA_HOME="$2"

        shift; shift;

        continue

    ;;

    --catalina-base )

        CATALINA_BASE="$2"

        shift; shift;

        continue

    ;;

    --catalina-pid )

        CATALINA_PID="$2"

        shift; shift;

        continue

    ;;

    --tomcat-user )

        TOMCAT_USER="$2"

        shift; shift;

        continue

    ;;

    * )

        break

    ;;

  esac

done

# OS specific support (must be 'true' or 'false').

cygwin=false;

darwin=false;

case "`uname`" in

    CYGWIN*)

        cygwin=true

        ;;

    Darwin*)

        darwin=true

        ;;

esac



# Use the maximum available, or set MAX_FD != -1 to use that

test ".$MAX_FD" = . && MAX_FD="maximum"

# Setup parameters for running the jsvc

#

test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat

# Set JAVA_HOME to working JDK or JRE

# JAVA_HOME=/opt/jdk-1.6.0.22

# If not set we'll try to guess the JAVA_HOME

# from java binary if on the PATH

#

if [ -z "$JAVA_HOME" ]; then

    JAVA_BIN="`which java 2>/dev/null || type java 2>&1`"

    test -x "$JAVA_BIN" && JAVA_HOME="`dirname $JAVA_BIN`"

    test ".$JAVA_HOME" != . && JAVA_HOME=`cd "$JAVA_HOME/.." >/dev/null; pwd`

else

    JAVA_BIN="$JAVA_HOME/bin/java"

fi



# Only set CATALINA_HOME if not already set

test ".$CATALINA_HOME" = . && CATALINA_HOME=`cd "$DIRNAME/.." >/dev/null; pwd`

test ".$CATALINA_BASE" = . && CATALINA_BASE="$CATALINA_HOME"

test ".$CATALINA_MAIN" = . && CATALINA_MAIN=org.apache.catalina.startup.Bootstrap

test ".$JSVC" = . && JSVC="$CATALINA_BASE/bin/jsvc"



# Ensure that any user defined CLASSPATH variables are not used on startup,

# but allow them to be specified in setenv.sh, in rare case when it is needed.

CLASSPATH=

if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then

  . "$CATALINA_BASE/bin/setenv.sh"

elif [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then

  . "$CATALINA_HOME/bin/setenv.sh"

fi



# Add on extra jar files to CLASSPATH

test ".$CLASSPATH" != . && CLASSPATH="${CLASSPATH}:"

CLASSPATH="$CLASSPATH$CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/commons-daemon.jar"



test ".$CATALINA_OUT" = . && CATALINA_OUT="$CATALINA_BASE/logs/catalina-daemon.out"

test ".$CATALINA_TMP" = . && CATALINA_TMP="$CATALINA_BASE/temp"



# Add tomcat-juli.jar to classpath

# tomcat-juli.jar can be over-ridden per instance

if [ -r "$CATALINA_BASE/bin/tomcat-juli.jar" ] ; then

  CLASSPATH="$CLASSPATH:$CATALINA_BASE/bin/tomcat-juli.jar"

else

  CLASSPATH="$CLASSPATH:$CATALINA_HOME/bin/tomcat-juli.jar"

fi

# Set juli LogManager config file if it is present and an override has not been issued

if [ -z "$LOGGING_CONFIG" ]; then

  if [ -r "$CATALINA_BASE/conf/logging.properties" ]; then

    LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties"

  else

    # Bugzilla 45585

    LOGGING_CONFIG="-Dnop"

  fi

fi



test ".$LOGGING_MANAGER" = . && LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"

JAVA_OPTS="$JAVA_OPTS $LOGGING_MANAGER"



# Set -pidfile

test ".$CATALINA_PID" = . && CATALINA_PID="$CATALINA_BASE/logs/catalina-daemon.pid"



# Increase the maximum file descriptors if we can

if [ "$cygwin" = "false" ]; then

    MAX_FD_LIMIT=`ulimit -H -n`

    if [ "$?" -eq 0 ]; then

        # Darwin does not allow RLIMIT_INFINITY on file soft limit

        if [ "$darwin" = "true" -a "$MAX_FD_LIMIT" = "unlimited" ]; then

            MAX_FD_LIMIT=`/usr/sbin/sysctl -n kern.maxfilesperproc`

        fi

        test ".$MAX_FD" = ".maximum" && MAX_FD="$MAX_FD_LIMIT"

        ulimit -n $MAX_FD

        if [ "$?" -ne 0 ]; then

            echo "$PROGRAM: Could not set maximum file descriptor limit: $MAX_FD"

        fi

    else

        echo "$PROGRAM: Could not query system maximum file descriptor limit: $MAX_FD_LIMIT"

    fi

fi



# ----- Execute The Requested Command -----------------------------------------

case "$1" in

    run     )

      shift

      "$JSVC" $* \

      -java-home "$JAVA_HOME" \

      -pidfile "$CATALINA_PID" \

      -wait 10 \

      -nodetach \

      -outfile "&1" \

      -errfile "&2" \

      -classpath "$CLASSPATH" \

      "$LOGGING_CONFIG" $JAVA_OPTS $CATALINA_OPTS \

      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \

      -Dcatalina.base="$CATALINA_BASE" \

      -Dcatalina.home="$CATALINA_HOME" \

      -Djava.io.tmpdir="$CATALINA_TMP" \

      -Dfile.encoding="UTF-8" \

      $CATALINA_MAIN

      echo -n "start $proc success."

      exit $?

    ;;

    start   )

      "$JSVC" \

      -java-home "$JAVA_HOME" \

      -user $TOMCAT_USER \

      -pidfile "$CATALINA_PID" \

      -wait 10 \

      -outfile "$CATALINA_OUT" \

      -errfile "&1" \

      -classpath "$CLASSPATH" \

      "$LOGGING_CONFIG" $JAVA_OPTS $CATALINA_OPTS \

      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \

      -Dcatalina.base="$CATALINA_BASE" \

      -Dcatalina.home="$CATALINA_HOME" \

      -Djava.io.tmpdir="$CATALINA_TMP" \

      -Dfile.encoding="UTF-8" \

      $CATALINA_MAIN

      echo -n "start $proc success."

      exit $?

    ;;

    stop    )

      "$JSVC" $JSVC_OPTS \

      -stop \

      -pidfile "$CATALINA_PID" \

      -classpath "$CLASSPATH" \

      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \

      -Dcatalina.base="$CATALINA_BASE" \

      -Dcatalina.home="$CATALINA_HOME" \

      -Djava.io.tmpdir="$CATALINA_TMP" \

      $CATALINA_MAIN

      echo -n "Stop $proc success."

      exit $?

    ;;

    version  )

      "$JSVC" \

      -java-home "$JAVA_HOME" \

      -pidfile "$CATALINA_PID" \

      -classpath "$CLASSPATH" \

      -errfile "&2" \

      -version \

      -check \

      $CATALINA_MAIN

      if [ "$?" = 0 ]; then

        "$JAVA_BIN" \

        -classpath "$CATALINA_HOME/lib/catalina.jar" \

        org.apache.catalina.util.ServerInfo

      fi

      exit $?

    ;;

    *       )

      echo "Unknown command: \`$1'"

      echo "Usage: $PROGRAM ( commands ... )"

      echo "commands:"

      echo "  run               Start Tomcat without detaching from console"

      echo "  start             Start Tomcat"

      echo "  stop              Stop Tomcat"

      echo "  version           What version of commons daemon and Tomcat"

      echo "                    are you running?"

      exit 1

    ;;

esac



结束  
  #####
  ####
  11、录入完成,按Esc键。输入: wq保存退出并赋予/etc/init.d/tomcat6文件可执行权限
  [iyunv@localhost~]# chmod 777 /etc/init.d/tomcat6
  ------------------添加服务-----------------------------------------
  12[iyunv@localhost~] #chkconfig --add tomcat6          ##添加tomcat服务
  13[iyunv@localhost~] #chkconfig –list |grep tomcat6      ##查看tomcat服务是否被添加
  --------------------启动服务---------------------------------------------
  14[iyunv@localhost~] # service tomcat6 start            ##启动tomcat服务
  15[iyunv@localhost~] # service tomcat6 stop            ##停止tomcat服务
  16[iyunv@localhost~] # service tomcat6 restart          ##重启tomcat
  17[iyunv@localhost~] # service tomcat6 status           ##查看tomcat服务启动状态
  


  其实如果是多个的话 如果有一个已经配好了, 那么只需要在/etc/init.d/tomcat-xx 加上权限 就可以的: chmod 777 /etc/init.d/tomcat-xx .不用再执行chkconfig --add tomcat6    了,个人见解。





版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-139110-1-1.html 上篇帖子: tomcat6.0 安装版和解压版的内存设置 下篇帖子: 查看tomcat当前并发数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表