Tomcat常用配置

1、配置Server Status、Manager AppHost Manager:

# vim /usr/local/tomcat/conf/tomcat-users.xml,在末尾标签上方新增如下代码:

tomcat" password="123456" roles="manager-gui,admin-gui"/>

# catalina.sh stop  # catalina.sh configtest  # catalina.sh start  # ss -tunlp | grep -w :8080

点击“Server Status”:

CentOS 7.5安装配置Tomcat详解(三)_第1张图片

CentOS 7.5安装配置Tomcat详解(三)_第2张图片

点击“Manager App”:

CentOS 7.5安装配置Tomcat详解(三)_第3张图片

CentOS 7.5安装配置Tomcat详解(三)_第4张图片

点击“Host Manager”:

CentOS 7.5安装配置Tomcat详解(三)_第5张图片

CentOS 7.5安装配置Tomcat详解(三)_第6张图片

备注:用户名和密码均为tomcat123456Server StatusManager App共用一个验证规则

2、Tomcat访问静态资源:

# cd /usr/local/tomcat/webapps/ROOT

# mkdir -pv images

# cd images

上传一张图片test.png

浏览器中访问http://192.168.1.145:8080/images/test.png

CentOS 7.5安装配置Tomcat详解(三)_第7张图片

3、 在一台服务器中同时部署多个版本的JDKTomcat

(1)取消之前配置的CATALINA_HOME环境变量:# cd /etc/profile.d  # mv tomcat.sh tomcat.sh.bak  # logout

(2)查看系统中已安装的JDKTomcat版本:# /usr/local/tomcat/bin/catalina.sh version

CentOS 7.5安装配置Tomcat详解(三)_第8张图片

(3)解压jdk-7u80-linux-x64.tar.gz# tar -xf jdk-7u80-linux-x64.tar.gz

(4)解压apache-tomcat-7.0.91.tar.gz# tar -xf apache-tomcat-7.0.91.tar.gz

(5)修改apache-tomcat-7.0.91的端口号:# vim /apache-tomcat-7.0.91/conf/server.xml

Ø  SHUTDOWN默认端口8005:接收服务器关闭指令的端口,修改为8006

Ø  HTTP默认端口8080:接收HTTP请求的端口,修改为8081

Ø  HTTPS默认端口(redirectPort8443HTTPS协议请求处理端口,修改为8444

Ø  AJP默认端口8009:接收AJP请求的端口,修改为8010

(6)修改apache-tomcat-7.0.91的脚本文件:

# vim /apache-tomcat-7.0.91/bin/setclasspath.sh,第2行新增代码:export JAVA_HOME=/jdk1.7.0_80

# vim /apache-tomcat-7.0.91/bin/catalina.sh,第2行新增代码:export JAVA_HOME=/jdk1.7.0_80

(7)启动apache-tomcat-7.0.91

# /apache-tomcat-7.0.91/bin/version.sh

CentOS 7.5安装配置Tomcat详解(三)_第9张图片

# /apache-tomcat-7.0.91/bin/startup.sh

image.png

# ss -tunlp

CentOS 7.5安装配置Tomcat详解(三)_第10张图片

# ps -ef | grep java

CentOS 7.5安装配置Tomcat详解(三)_第11张图片

(8)浏览器中分别访问apache-tomcat-7.0.91apache-tomcat-8.0.53

CentOS 7.5安装配置Tomcat详解(三)_第12张图片

CentOS 7.5安装配置Tomcat详解(三)_第13张图片

4、使用Manager App部署本地war包:

CentOS 7.5安装配置Tomcat详解(三)_第14张图片

点击“选择文件”,找到本地需要部署的wartest.war,再点击“Deploy”:

CentOS 7.5安装配置Tomcat详解(三)_第15张图片

直接热部署成功,浏览器中访问http://192.168.1.145:8080/test

image.png

# ls -lh /usr/local/tomcat/webapps

CentOS 7.5安装配置Tomcat详解(三)_第16张图片

还可以通过Manager App停止、重载和解除部署应用程序

image.png

CentOS 7.5安装配置Tomcat详解(三)_第17张图片

点击“Undeploy”按钮后会自动删除此应用程序:

CentOS 7.5安装配置Tomcat详解(三)_第18张图片

image.png

5、自定义Host虚拟主机:

# vim /usr/local/tomcat/conf/server.xml之间新增如下代码:

# mkdir -pv /data/{webapps,logs}

# mkdir -pv /data/webapps/myapp/{META-INF,WEB-INF}

# mkdir -pv /data/webapps/myapp/WEB-INF/{classes,lib}

# vim /data/webapps/myapp/index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

JSP Test Page

<% out.println("Hello JSP"); %>

备注:Java WebApp目录结构

Ø  META-INF/:用于存放应用程序自用的context.xml,是应用程序的私有资源目录,其内部的所有文件和子目录均不能被客户端公开访问,只有服务端可以访问

Ø  WEB-INF/:用于存放应用程序的配置文件web.xml(程序结构描述符文件),是应用程序的私有资源目录,其内部的所有文件和子目录均不能被客户端公开访问,只有服务端可以访问

  u  classes/:用于存放此应用程序的私有类

  u  lib/:用于存放此应用程序的私有类,且被打包为jar格式类

Ø  index.jsp:应用程序的主页

# catalina.sh stop  # catalina.sh configtest  # catalina.sh start  # ss -tunlp | grep -w :8080

修改本地Windows 10C:\Windows\System32\drivers\etc\hosts文件,末尾新增如下代码:

192.168.1.145 web.qiuyue.com

浏览器中访问:

http://web.qiuyue.com:8080/myapp/

image.png

http://192.168.1.145:8080

CentOS 7.5安装配置Tomcat详解(三)_第19张图片

备注:使用IP访问的就是defaultHost="localhost">中名为localhost的默认主机

6、在示例5的基础上基于IP实现访问控制,拒绝IP192.168.1.151的主机访问:

# vim /usr/local/tomcat/conf/server.xml,新增如下红色部分的代码:

备注:Valve写在Context中不会生效,与deny对应的是allow

# catalina.sh stop  # catalina.sh configtest  # catalina.sh start  # ss -tunlp | grep -w :8080

使用3台主机进行测试:

192.168.1.151的浏览器中访问:

http://web.qiuyue.com:8080/myapp/

CentOS 7.5安装配置Tomcat详解(三)_第20张图片

http://192.168.1.145:8080

CentOS 7.5安装配置Tomcat详解(三)_第21张图片

192.168.199.157Windows 10,使用×××,同样需要修改hosts文件)的浏览器中访问:

http://web.qiuyue.com:8080/myapp/

image.png

CentOS 7.5主机192.168.1.146上编辑/etc/hosts文件,末尾新增代码:192.168.1.145 web.qiuyue.com

# curl http://web.qiuyue.com:8080/myapp/

CentOS 7.5安装配置Tomcat详解(三)_第22张图片

7、在示例5的基础上配置HTTPS

(1)配置HTTPS之前访问http://web.qiuyue.com:8080/myapp/

image.png

(2)生成SSL证书:

# keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/conf/tomcat.keystore -validity 36500

CentOS 7.5安装配置Tomcat详解(三)_第23张图片

备注:各选项含义

Ø  -alias:表示证书的别名

Ø  -keyalg RSA:表示使用RSA密钥算法

Ø  -keystore:证书保存的位置

Ø  -validity:证书的有效时间

# keytool -importkeystore -srckeystore /usr/local/tomcat/conf/tomcat.keystore -destkeystore /usr/local/tomcat/conf/tomcat.keystore -deststoretype pkcs12

image.png

备注:上述所有涉及到的密码均为Root_123456

# ls -lh /usr/local/tomcat/conf | grep keystore

image.png

(3)修改主配置文件server.xml

# vim /usr/local/tomcat/conf/server.xml,取消如下代码的注释并修改:

-->

keystoreFile="/usr/local/tomcat/conf/tomcat.keystore" keystorePass="Root_123456" />

备注:可以将端口号修改为443

(4)将所有http请求自动跳转至https请求,修改配置文件web.xml

# cd /usr/local/tomcat/conf

# cp web.xml web.xml.bak

# vim web.xml,在末尾前新增如下代码:

SSL

/*

CONFIDENTIAL

# catalina.sh stop  # catalina.sh configtest  # catalina.sh start  # ss -tunlp | grep -w :8080

(5)浏览器中访问:

http://web.qiuyue.com:8080/myapp/

CentOS 7.5安装配置Tomcat详解(三)_第24张图片

CentOS 7.5安装配置Tomcat详解(三)_第25张图片

image.png

http://192.168.1.145:8080

CentOS 7.5安装配置Tomcat详解(三)_第26张图片

此处不演示如何导入证书