多年来,Tomcat作为轻量级JEE开发的主要应用服务器而被开发人员广泛安装使用。不过,近年,随着SrpingBoot的兴起,因为SpringBoot已经内嵌了jetty、tomcat等应用服务器,在现在的JEE开发中,单独安装Tomcat变得不再那么的需要,不过开发或运维过程中,比如搭建Archiva等Maven私服、持续集成部署工具Jenkins等,这些组件或工具有提供war包形式安装,所以还是会有使用到Tomcat的地方。当然,是否安装,取决于企业或者项目的需要,并没有好坏之分。当前Tomcat8的最新版本为8.5.49。
系统环境
- 操作系统
Ubuntu18.04LTS桌面版,如果没有,可以参考这里安装Ubuntu18.04LTS - 辅助工具
Vim文本编辑器,系统自带,如果没有安装,可在终端(可使用快捷键Ctrl+Alt+T打开)执行以下命令安装
sudo apt install vim //安装vim
vim --version //安装好之后,可以执行此命令查看安装的vim版本
- 网络
使用无线Wifi连接网络
注意事项
- 默认下载路径
本文默认软件包下载后保存到以下目录,执行命令时,以实际保存目录为准
/home/kyle/下载
- 目录和文件路径
1). 软件的下载地址、包名或版本,随着时间或发布新版本而会有所改变或无效,实际应以官网为准
2). 部分软件每次下载都会附带随机码命名软件包,使用tar命令解压时,对应的软件包名字应以实际下载下来的名字为准
3). 另外,解压出来的目录名字大多会带有版本号,使用mv命令对目录或文件进行移动或改名时,其操作的目录或文件名路径以实际解压出来的目录或文件名的路径为准 - 防火墙
系统安装后,如果开启了防火墙,对于需要进行远程访问的软件如Web应用服务器和数据库等,可能需要设置防火墙开放对应的端口
安装Tomcat8
- 下载
和下载Maven一样,可以直接在Tomcat官网下载,建议选择国内清华大学镜像源下载,速度会快很多,当然国内的镜像都可以。目前Tomcat8的最新版本为8.5.49。执行以下命令下载tomcat压缩包到当前用户kyle主目录的下载目录中
sudo wget -P /home/kyle/下载 http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.49/bin/apache-tomcat-8.5.49.tar.gz
- 解压安装
sudo mkdir -p /opt/apache/tomcat
sudo tar -zxvf /home/kyle/下载/apache-tomcat-8.5.49.tar.gz -C /opt/apache/tomcat
sudo mv /opt/apache/tomcat/apache-tomcat-8.5.49/ /opt/apache/tomcat/8.5.49
- 修改启动脚本
安装完,启动bin目录下的.startup.sh脚本,可能会出现JAVA_HOME或JRE_HOME设置不正确的错误,可以通过修改setclasspath.sh脚本修正此问题。使用vim编辑setclasspath.sh
sudo vim /opt/apache/tomcat/8.5.49/bin/setclasspath.sh
在setclasspath.sh脚本文件的开头加入以下内容,保存退出
export JAVA_HOME=/opt/java/jdk1.8.0_231
export JRE_HOME=${JAVA_HOME}/jre
- 验证
启动运行tomcat服务器
cd /opt/apache/tomcat/8.5.49/bin //进入到tomcat安装目录的bin目录下
sudo ./startup.sh //执行启动脚本
浏览器中访问http://localhost:8080,正常会看到Tomcat8管理首页,界面大致如下(以下是8.5.46版本的管理首页界面)
- 添加管理用户
Tomcat8中定义了以下4种角色
1). manager-gui - 允许访问GUI管理控制台和服务器状态页面
2). manager-script - 允许访问文本接口和服务器状态页面
3). manager-jmx - 允许访问JMX代理和服务器状态页面
4). manager-status - 仅允许访问服务器状态页面
如果需要使用Tomcat8的管理后台来管理应用,需要添加manager-gui角色的管理员来实现。使用vim编辑Tomcat管理员配置文件tomcat-users.xml
sudo vim /opt/apache/tomcat/8.5.49/conf/tomcat-users.xml
在根元素tomcat-users添加以下内容,保存后退出
<role rolename="manager-gui"/>
<user username="admin" password="123456" roles="manager-gui"/>
这里配置了拥有manager-gui角色的admin用户,重新启动Tomcat,浏览器中访问http://localhost:8080,点击右上方的Manager App,使用admin/123456账号密码登陆
登陆成功将会看到如下的管理界面
- 配置远程访问管理后台
严格配置的情况下,Tomcat只允许本机(127.0.0.1或localhost)登陆管理后台,如果需要远程登陆,则需要额外配置webapps/manager/META-INF/context.xml文件,将ip地址改为需要登陆的远程主机IP地址或者范围,比如允许在同一IP段的内网其它机器上访问登陆Tomcat管理后台,可以参考下面的配置
sudo vim /opt/apache/tomcat/8.5.49/webapps/manager/META-INF/context.xml
将Valve元素的allow属性
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"/>
修改为
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="192.168.101.*"/>
修改重启后,就可以在192.168.101网段的其它任何机器上访问Tomcat管理后台了。