第一步:需要安装jdk
安装说明,见CentOS下安装jdk及配置。
第二步:需要下载tomcat安装文件
sudo tar zxvf apache-tomcat-7.0.5.tar.gz
2.然后,cd到/opt目录下,我们可以将文件夹改名(以后进入方便):
sudo mv apache-tomcat-7.0.5 tomcat7
第三步:修改tomcat配置文件
JAVA_HOME=/usr/lib/jvm/java1.7 //<--此处依你的jdk安装目录而定
JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:PermSize=600M -XX:MaxPermSize=600m -Dcom.sun.management.jmxremote" //<--此处依你的JVM实际情况定
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
第四步:启动tomcat
CentOS系统中安装Tomcat7并设置为自启动服务(方法一,较复杂)
1、 软件
a) 下载apache-tomcat-7.0.27 地址: http://apache.etoak.com/tomcat/tomcat-7/v7.0.27/bin/apache-tomcat-7.0.27.tar.gz
b) 如无特殊说明,本文档操作用户为tomcat
2、 安装
a) 解压
# tar zxvf apache-tomcat-7.0.27.zip
b)移动到其他目录
# mv apache-tomcat-7.0.27 /home/tomcat/tomcat
c) 启动Tomcat服务
# cd /home/tomcat/tomcat/bin
# ./startup.sh
d)检查是否启动成功
在本机浏览器中访问URL: http://localhost:8080/
会出现Tomcat的欢迎页面
注:如果想远程通过浏览器访问,则在远程浏览器中输入http://<ip>:8080/
<ip> 可通过在本地机器上输入命令 ifconfig 查看
如果未能访问到tomcat的欢迎页面,需要查看本机的防火墙设置,是否打开了端口8080
e)停止服务
# ./shutdown.sh
3、 可能出现的问题
a) Java未先安装,或未正确配置JAVA_HOME系统环境变量
b) Linux系统的防火墙8080端口未被设置为远程可访问
4、配置tomcat由tomcat用户自启动(使用jsvc)
a) 编译安装jsvc
# export CATALINA_HOME=/home/tomcat/tomcat
# cd $CATALINA_HOME/bin
# tar xvfz commons-daemon-native.tar.gz
# cd commons-daemon-1.0.8-native-src/unix
# ./configure
# make
# cp jsvc ../..
b) 编写自启动脚本:用root用户登录,创建脚本tomcat7
# vi /etc/init.d/tomcat7
添加如下脚本:
#! /bin/sh
# chkconfig: 35 96 04
# description: Apache-Tomcat service script.
# Version:
# 2008-01-17-01
# By:
# Typhoon.Free.Wolf.
# Service name.
SVC_NAME="tomcat7"
# Lock file.
LOCK_FILE="/var/lock/subsys/tfw_tomcat"
# Installation prefix.
APP_HOME="/home/tomcat/tomcat"
# The process name to monitor.
APP_PROC="java"
# Authorize user.
APP_USER="tomcat"
SLEEP_START=5
SLEEP_STOP=$SLEEP_START
# Importing functions.
flg_func=0
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions
flg_func=1
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
flg_func=1
fi
# Templete.
# Return:
# FLG_PROC_ON means process is there.
# FLG_PROC_OFF means process not exists.
# Other means error.
FLG_PROC_ON=1
FLG_PROC_OFF=0
probe() {
srch_rst=$(ps -A|grep $APP_PROC|awk '{print $4}')
for rst in $srch_rst ; do
if [ $APP_PROC = $rst ] ; then
return $FLG_PROC_ON
fi
done
return $FLG_PROC_OFF
}
# Templete.
# Shows OK.
# Return:
echo_ok() {
case $flg_func in
1)
echo_success
echo ""
;;
*)
echo ""
echo " [ OK ]"
;;
esac
}
# Templete.
# Shows Passed.
# Return:
echo_pass() {
case $flg_func in
1)
echo_passed
echo ""
;;
*)
echo ""
echo " [PASSED]"
;;
esac
}
# Templete.
# Shows Failed.
# Return:
echo_bad() {
case $flg_func in
1)
echo_failure
echo ""
;;
*)
echo ""
echo " [FAILED]"
;;
esac
}
# Templete.
# Start section.
# Return:
_start() {
probe
proc=$?
echo ""
echo "Starting $SVC_NAME..."
if (touch $LOCK_FILE) ; then
echo_ok
else
echo_bad
fi
}
start() {
probe
proc=$?
echo ""
echo "Starting $SVC_NAME..."
if [ $FLG_PROC_OFF = $proc ] ; then
if (su - $APP_USER -c "$APP_HOME/bin/startup.sh") ; then
sleep $SLEEP_START
if (touch $LOCK_FILE) ; then
echo_ok
else
echo_pass
echo ""
fi
else
echo_bad
fi
elif [ $FLG_PROC_ON = $proc ] ; then
if (touch $LOCK_FILE) ; then
echo_passed
echo ""
else
echo_bad
fi
fi
}
# Templete.
# Stop section.
# Return:
_stop() {
probe
proc=$?
echo ""
echo "Stopping $SVC_NAME..."
if (rm -Rf $LOCK_FILE) ; then
echo_ok
else
echo_bad
fi
}
stop() {
probe
proc=$?
echo ""
echo "Stopping $SVC_NAME..."
if [ $FLG_PROC_OFF = $proc ] ; then
if (rm -Rf $LOCK_FILE) ; then
echo_passed
echo ""
else
echo_bad
fi
elif [ $FLG_PROC_ON = $proc ] ; then
if (su - $APP_USER -c "$APP_HOME/bin/shutdown.sh") ; then
sleep $SLEEP_STOP
if (rm -Rf $LOCK_FILE) ; then
echo_ok
else
echo_pass
echo ""
fi
else
echo_bad
fi
fi
}
# Parse command line parameters.
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
# Print help
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit 0
注意修改APP_HOME为tomcat实际安装路径,APP_USER为启动tomcat的用户。
c) 设置tomcat自启动服务
使用如下命令给tomcat7增加执行权限
# chmod +x tomcat7
将tomcat添加到启动服务中
# chkconfig --add tomcat7
# chkconfig --level 234 tomcat7 on
可以用如下命令确认是否配置成功
# chkconfig --list tomcat7
之后就可以用service来控制tomcat的启动和停止了。
# service tomcat7 start
# service tomcat7 stop
查看/home/tomcat/tomcat/logs/catalina-daemon.out,确认没有error。
Ubuntu系统中安装Tomcat7并设置为自启动服务(方法二,简单!)
这里有一种比较简单的方法。
第一步,tomcat/bin目录下有一个catalina.sh脚本,将这个脚本复制到/etc/init.d目录下,指令:cp catalina.sh /etc/init.d
第二步,进入/etc/init.d目录,将catalina.sh重命名为Tomcat,重命名指令:mv catalina.sh tomcat
第三步,修改tomcat脚本,指令:vim tomcat,打开后,编辑成如下图所示
CATALINA_HOME=/etc/tomcat8
JAVA_HOME=/usr/java/jdk1.8.0_144
其中,CATALINA_HOME后面是你自己的tomcat路径,JAVA_HOME为你的jdk路径。JAVA_OPTS可以照着抄一遍,是用来防止内存溢出的。
编辑完后,保存退出。
第四步,注册开机启动,指令:update-rc.d -f tomcat defaults,如果要撤销开机启动,将defaults改为remove即可。
至此,tomcat开机自启动完成,可以重启机器试试。
RedHat系统中安装Tomcat7并设置为自启动服务(方法三,超简单!)
应该也适用其他linux操作系统开机自启动Tomcat:
每次开机都要启动tomcat,网上看了好多都是用shell脚本来实现tomcat开机自启动,后来看到一种方法,直接修改系统文件来实现,已经实践过,方法有效。
1.修改脚本文件rc.local:vim /etc/rc.d/rc.local
这个脚本是使用者自定的开机启动程序,可以在里面添加想在系统启动之后执行的脚本或者脚本执行命令
2.添加如下内容:
export JAVA_HOME=/opt/jdk1.8.0_65 (这句可以不加)
/opt/tomcat8/bin/startup.sh start
3.esc 退出编辑,:wq 保存修改
4.将rc.local修改为可执行
chmod 777 /etc/rc.d/rc.local
5.然后reboot系统,应该就可以登录tomcat服务器了。