安装
(1) 下载安装
登录http://tomcat.apache.org/,在Download菜单选择要下载的版本
在Binary Distributions下, 最好选择最新版本的二进制压缩包Core zip
或者通过命令下载:
$ wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.70/bin/apache-tomcat-7.0.70.zip
zip包下载后不用安装,只需要解压即可
$ unzip apache-tomcat-7.0.70.zip
改名:
$ mv apache-tomcat-7.0.70 tomcat7
(2) Tomcat启动脚本优化
修改 bin/catalina.sh 脚本
添加JAVA_HOME、CATALINA_HOME、CATALINA_BASE、CATALINA_TMPDIR、CATALINA_PID、JAVA_OPTS参数。
$ vim tomcat7/bin/catalina.sh
...
101 # USE_NOHUP (Optional) If set to the string true the start command will
102 # use nohup so that the Tomcat process will ignore any hangup
103 # signals. Default is "false" unless running on HP-UX in which
104 # case the default is "true"
105 # -----------------------------------------------------------------------------
106
107 export JAVA_HOME=/usr/local/jdk-1.7.0
108 export CATALINA_HOME=/usr/local/tomcat7
109 export CATALINA_BASE=$CATALINA_HOME
110 export CATALINA_TMPDIR=$CATALINA_HOME/temp
111 CATALINA_PID=/usr/local/tomcat7/pid
112 JAVA_OPTS="-server -Xms786m -Xmx786m -XX:PermSize=128m -XX:MaxPermSize=256m"
113
114 # OS specific support. $var _must_ be set to either true or false.
115 cygwin=false
116 darwin=false
117 os400=false
118 hpux=false
其中 JAVA_OPTS 是tomcat JVM调优参数
参数 | 说明 |
---|---|
-server | 会以服务器模式启动,会自动优化一些JVM参数 |
-Xms786m | 最小堆内存 |
-Xmx786m | 最大堆内存 |
-XX:PermSize=128m | 初始分配永久代内存 |
-XX:MaxPermSize=256m | 最大分配永久代内存 |
(3) 自启动设置
进入系统启动配置目录创建一个tomcat自启动脚本
这个脚本只需要修改 CATALINA_HOME 就可以直接使用
$ cd /etc/init.d/
$ vim tomcat
#!/bin/bash
#
# hushuang.me
# /etc/rc.d/init.d/tomcat
# init script for tomcat precesses
#
# processname: tomcat
# description: tomcat is a j2se server
# chkconfig: 2345 86 16
# description: Start up the Tomcat servlet engine.
CATALINA_HOME="/usr/local/tomcat7"
if [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
else
echo -e "/atomcat: unable to locate functions lib. Cannot continue."
exit -1
fi
RETVAL=$?
case "$1" in
start)
if [ -f $CATALINA_HOME/bin/startup.sh ];
then
echo $"Starting Tomcat"
$CATALINA_HOME/bin/startup.sh
fi
;;
stop)
if [ -f $CATALINA_HOME/bin/shutdown.sh ];
then
echo $"Stopping Tomcat"
$CATALINA_HOME/bin/shutdown.sh
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL
修改完成后,将tomcat自启动服务加入系统的启动管理器中
chkconfig -- add tomcat
查看一下tomcat服务在系统启动配置中的状态
$ chkconfig --list
...
tomcat 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
sshd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
svnserve 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
sysstat 0:关闭 1:启用 2:启用 3:启用 4:启用 5:启用 6:关闭
udev-post 0:关闭 1:启用 2:启用 3:启用 4:启用 5:启用 6:关闭
zabbix-agent 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
zabbix-agentd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
这样,通过service命令在系统任何位置就可以直接启动tomcat了
$ service tomcat start
当然,我们的脚本还支持重启和关闭tomcat服务
$ service tomcat restart
$ service tomcat stop
(4) 根目录更改
默认情况下,Tomcat启动后,webapps下ROOT目录中的项目不需要输入路径就可以直接访问了
如果不想到Tomcat的ROOT目录去部署项目,不想对原有的Tomcat有更多接触,想自己定义一个目录作为Tomcat的根目录,我们可以这样做:
在conf目录创建一个【Catalina/localhost】目录
$ mkdir -p conf/Catalina/localhost/ROOT.xml
在【localhost】目录创建一个ROOT.xml的文件
加入一段指定内容
$ vim conf/Catalina/localhost/ROOT.xml
...
<Context crossContext="true" docBase="/home/username/tomcat" path="/" reloadable="true">
</Context>
然后根据docBase创建/home/username/tomcat目录
$ mkdir -p /home/username/tomcat
然后将你打好的war包放入tomcat,解压
$ cp web-0.0.1-SNAPSHOT.war /home/username/tomcat
$ cd /home/username/tomcat
$ unzip web-0.0.1-SNAPSHOT.war
...
$ ll
-rw-r--r-- 1 root root 25812334 8月 24 17:23 web-0.0.1-SNAPSHOT.war
-rw-r--r-- 1 root root 2559 8月 24 17:53 login.jsp
drwxr-xr-x 2 root root 4096 8月 25 19:09 META-INF
drwxr-xr-x 3 root root 4096 7月 14 17:37 resources
drwxr-xr-x 5 root root 4096 8月 24 17:53 WEB-INF
启动tomcat你就可以访问你的应用了
$ service tomcat start