共计 5723 个字符,预计需要花费 15 分钟才能阅读完成。
1 tomcat 介绍
Tomcat
是由 Apache Foundation
研发用于支持 JSP(Java Server Page)
的网络服务软件.
2 安装 tomcat
2.1 源方式(不推荐)
Ubuntu14.04
的源中包含了 tomcat 6/7
两个版本, 大家可以选择任意一个进行安装.
- 安装
Tomcat
sudo apt-get install tomcat6
或者
sudo apt-get install tomcat7
稍等片刻, Tomcat6
即会被自动安装在 /usr/share/tomcat6
的目录中
设置 Tomcat
运行的 JAVA
环境
首先请确保 Oracle/Sun
的 Java Development Toolkit
已经安装.
如果尚未安装,参照 Java-Ubuntu 中文或者 Ubuntu 安装 JDK 详解
- 启动和停止 Tomcat
要启动 Tomcat,运行
sudo /etc/init.d/tomcat6 start
此时打开浏览器,在地址栏内输入
http://localhost:8080
要停止 Tomcat,运行
sudo /etc/init.d/tomcat6 stop
Tomcat
配置文件路径
Tomcat home directory : /usr/share/tomcat6 | |
Tomcat base directory : /var/lib/tomcat6 或 /etc/tomcat6 |
- 设置 Tomcat 管理员帐号
Tomcat
的用户帐号信息都保存在 tomcat-users.xml
的文件中, 运行
sudo nano /var/lib/tomcat6/conf/tomcat-users.xml
在的标签前添加一行
<user username="用户名" password="密码" roles="admin,manager"/>
保存并关闭. 重新运行 tomcat
即可输入该用户名和密码,登录 Tomcat 的管理页面.
- 弊端
Ubuntu
默认把 Tomcat
分到 2 个目录, 在之后配置 Eclipse Server
时会把人逼疯的, 配置哪个路径都不对, Eclipse
无法识别安装的Tomcat
.
解决方案:
sudo ln -s /var/lib/tomcat6/conf /usr/share/tomcat6/conf | |
sudo ln -s /etc/tomcat6/policy.d/03catalina.policy /usr/share/tomcat6/conf/catalina.policy | |
sudo ln -s /var/log/tomcat6 /usr/share/tomcat6/log | |
sudo chmod -R 777 /usr/share/tomcat6/conf |
2.2 下载安装最新版本的 Tomcat
2.2.1 官网的 tomcat 版本
这种方法绕过 Ubuntu
自身的包管理器, 直接从 Apache Tomcat
的主页上下载并使用 Tomcat
软件, 该方法方便快捷的安装旧版或新测试版 Tomcat
而并不影响系统的稳定性, 轻松自在.
从 tomcat
的官方下载页面, 目前官网上提供如下几个版本以供下载
版本 | Documentation | Download |
---|---|---|
6.0 | tomcat-6.0-doc | download-60 |
7.0.72 | tomcat-7.0-doc | download-70 |
8.0.38 | tomcat-8.0-doc | download-80 |
8.5.6 | tomcat-8.5-doc | download-80 |
9.0.0 | tomcat-9.0-doc | download-90 |
2.2.2 下载安装 tomcat 8.5.6
我选择下载了 Tomcat 8.5.6
版本.
下载 8.5.6->Binary Distributions->Core
分类中的 zip
或者 tar.gz
包后, 本地解压缩并将新生成的目录重命名为tomcat
, 以方便使用.
将这个文件夹移动至某路径PATH
, 比如我以调动到了 /opt/tomcat
, 参考以上设置环境变量和端口设置等步骤, 大功告成!
tar -zxvf apache-tomcat-8.5.6.tar.gz -C /opt | |
cd /opt/apache-tomcat |
2.2.3 权限问题
注意
解压缩完以后发现, 有些目录
cd
没有权限
ll 发现是没有, 运行权限的
linux
下ls
某文件夹需要文件夹有r
读权限.cd
某文件夹 需要文件夹有x
运行权限chmod +x ./*
同样想要运行 bin 下的脚本也需要运行权限, 因此
chmod +x ./bin/*.sh
2.2.4 配置和运行
bin
下存储了我们运行和配置 tomcat
所需要的脚本信息
脚本 | 描述 |
---|---|
daemon.sh | 守护进程 (服务) 的方式启动和关闭 tomcat , 以jsvc 管理 tomcat , jsvc 可以由 commons-daemon-native.tar.gz 编译出 |
setclasspath.sh | 设置 JAVA 运行环境 |
configtest.sh | 检查 tomcat 运行环境和配置 |
startup.sh | 启动 tomcat |
shutdown.sh | 关闭 tomcat |
version.sh | 显示版本信息 |
tool-wrapper.sh | |
digest.sh | |
catalina.sh | 完善的服务脚本, 支持 start , stop , version 等方式, 可以直接放到 /etc/init.d 下作为服务来使用 |
- 配置 JAVA 环境变量
首先我们需要为 tomcat 配置 JAVA 的环境变量, 直接写到 setclasspath.sh
文件的开头即可, 我写入的内容如下所示
#--------------------- | |
# java path | |
#--------------------- | |
JAVA_HOME=/usr/lib/jvm/java-8-oracle | |
JRE_HOME=$JAVA_HOME/jre | |
JAVA_BIN=$JAVA_HOME/bin | |
CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib | |
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin | |
export JAVA_HOME JRE_HOME PATH CLASSPATH |
刚开始的时候, 在
CLASSPATH
的开始配置了当前目录.
即
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
导致运行的时候老是出错, 其主要就是运行环境找不到, 因为
tomcat
运行需要bootstrap.jar
和tomcat-juli.jar
, 运行的时候在当前bin
目录下找到了这两个bin
包, 但是关闭服务的时候, 目录更改了这两个jar
包就没有找到, 导致服务能起来, 但是却结束不了
- 运行环境检查
配置完 JAVA
之后, 检查运行环境是否正确
sudo sh configtest.sh
我们提到了 catalina.sh
脚本其实就是一个完备的服务集合, 因此上面的命令等价于
sudo sh catalina.sh configtest
configtest.sh
脚本其实就是运行了catalina.sh configtest
命令, 这点可以从其源码中看到
PRGDIR=`dirname "$PRG"` | |
EXECUTABLE=catalina.sh | |
exec "$PRGDIR"/"$EXECUTABLE" configtest "$@" |
如果 ERROR
的话, 说明没有配置没有问题
- 直接运行
sudo ./startup.sh
等价于
sudo sh catalina.sh start
- 关闭
./shutdown.sh
等价于
sudo sh catalina.sh stop
打开 http://localhost:8080
2.2.5 配置启动脚本
catalina.sh
脚本可以直接作为服务来使用, 我们做一个了链接即可
cd /etc/init.d | |
sudo ln -s /opt/apache-tomcat/catalina.sh ./tomcat8 |
当然我们也可以自己做一个
# | |
# /etc/init.d/tomcat8 -- startup script for the Tomcat 8 servlet engine | |
# | |
# Written by Miquel van Smoorenburg <miquels@cistron.nl>. | |
# Modified for Debian GNU/Linux by Ian Murdock <imurdock@gnu.ai.mit.edu>. | |
# Modified for Tomcat by Stefan Gybas <sgybas@debian.org>. | |
# Modified for Tomcat6 by Thierry Carrez <thierry.carrez@ubuntu.com>. | |
# Modified for tomcat8 by Ernesto Hernandez-Novich <emhn@itverx.com.ve>. | |
# Additional improvements by Jason Brittain <jason.brittain@mulesoft.com>. | |
# | |
### BEGIN INIT INFO | |
# Provides: tomcat8 | |
# Required-Start: $local_fs $remote_fs $network | |
# Required-Stop: $local_fs $remote_fs $network | |
# Should-Start: $named | |
# Should-Stop: $named | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: Start Tomcat. | |
# Description: Start the Tomcat servlet engine. | |
### END INIT INFO | |
set -e | |
PATH=/bin:/usr/bin:/sbin:/usr/sbin | |
NAME=tomcat8 | |
DESC="Tomcat servlet engine" | |
if [`id -u` -ne 0 ]; then | |
echo "You need root privileges to run this script" | |
exit 1 | |
fi | |
# Make sure tomcat is started with system locale | |
if [-r /etc/default/locale ]; then | |
. /etc/default/locale | |
export LANG | |
fi | |
. /lib/lsb/init-functions | |
if [-r /etc/default/rcS ]; then | |
. /etc/default/rcS | |
fi | |
case "$1" in | |
start) | |
log_daemon_msg "Starting $DESC" "$NAME" | |
sh /opt/apache-tomcat/bin/startup.sh | |
;; | |
stop) | |
log_daemon_msg "Stopping $DESC" "$NAME" | |
sh /opt/apache-tomcat/bin/shutdown.sh | |
;; | |
status) | |
set +e | |
if ["$?" = "0" ]; then | |
if [-f "$CATALINA_PID" ]; then | |
log_success_msg "$DESC is not running, but pid file exists." | |
exit 1 | |
else | |
log_success_msg "$DESC is not running." | |
exit 3 | |
fi | |
else | |
log_success_msg "$DESC is running with pid `cat $CATALINA_PID`" | |
fi | |
set -e | |
;; | |
restart|force-reload) | |
$0 stop | |
sleep | |
$0 start | |
;; | |
*) | |
log_success_msg "Usage: $0 {start|stop|restart|status}" | |
exit 1 | |
;; | |
esac | |
exit 0 |
那么启动 tomcat8
service tomcat8 start | |
OR | |
etc/init.d/tomcat8 start |
停止 tomcat8
service tomcat8 stop | |
OR | |
etc/init.d/tomcat8 stop |
2.2.6 高级配置之 jsvc 启动
sudo apt-get install jsvc
或者直接用 tomcat 自带的源码包进行编译
tar -zxvf commons-daemon-native.tar.gz | |
cd commons-daemon-1.0.15-native-src/unix | |
./configure --with-java=$JAVA_HOME | |
make |
更多 Tomcat 相关教程见以下内容:
CentOS 6.6 下安装配置 Tomcat 环境 http://www.linuxidc.com/Linux/2015-08/122234.htm
RedHat Linux 5.5 安装 JDK+Tomcat 并部署 Java 项目 http://www.linuxidc.com/Linux/2015-02/113528.htm
Tomcat 权威指南(第二版)(中英高清 PDF 版 + 带书签) http://www.linuxidc.com/Linux/2015-02/113062.htm
Tomcat 安全配置与性能优化 http://www.linuxidc.com/Linux/2015-02/113060.htm
Linux 下使用 Xshell 查看 Tomcat 实时日志中文乱码解决方案 http://www.linuxidc.com/Linux/2015-01/112395.htm
CentOS 64-bit 下安装 JDK 和 Tomcat 并设置 Tomcat 开机启动操作步骤 http://www.linuxidc.com/Linux/2015-01/111485.htm
CentOS 6.5 下安装 Tomcat http://www.linuxidc.com/Linux/2015-01/111415.htm
Tomcat 中 session 的管理机制 http://www.linuxidc.com/Linux/2016-09/135072.htm
Tomcat 的详细介绍:请点这里
Tomcat 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-11/136959.htm
