|
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 了,个人见解。
版权声明:本文为博主原创文章,未经博主允许不得转载。 |
|
|