安装 Tomcat
一.Tomcat 服务部署
在部署 Tomcat 之前必须安装好 jdk,因为 jdk 是 Tomcat 运行的必要环境。
将Tomcat 所需的软件包传到 /opt 目录下
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
安装JDK
cd /opt
rpm -qpl jdk-8u201-linux-x64.rpm
rpm -ivh jdk-8u201-linux-x64.rpm
java -version
设置JDK环境变量
vim /etc/profile.d/java.sh
source /etc/profile.d/java.sh
java -version
PS:java开发工具使用
JDK :java development kit (java开发工具)
JRE :java runtime environment (java运行时环境)
JVM :java virtuak machine (java虚拟机),使java程序可以在多种平台上运行class文件。
CLASSPATH:告诉jvm要使用或执行的class放在什么路径上,便于JVM加载class文件。
tools.jar:是系统用来编译一个类的时候用到的,即执行javac的时候用到。
dt.jar:dt.jar是关于运行环境的类库,主要是swing包。
编写一个Hello.java 文件
javac Hello.java
java Hello
二.安装启动 Tomcat
启动 tomcat
后台启动
前台启动
查看是否启动
浏览器访问默认主页
优化tomcat 启动速度
第一次启动tomcat可能会发现 Tomcat 启动很慢,默认情况下可能会需要几十秒,可以修改jdk参数进行改。
vim /usr/java/jdk1.8.0_201-amd64/jre/lib/security/java.security
●tomcat 启动慢的原因是随机数产生遭到阻塞,遭到阻塞的原因是 熵池大小 。
●/dev/random:阻塞型,读取它就会产生随机数据,但该数据取决于熵池噪声,当熵池空了,对/dev/random 的读操作也将会被阻塞。
●/dev/urandom:非阻塞的随机数产生器,它会重复使用熵池中的数据以产生伪随机数据。这表示对/dev/urandom的读取操作不会产生阻塞,但其输出的熵可能小于/dev/random的。它可以作为生成较低强度密码的伪随机数生成器,不建议用于生成高强度长期密码。
主要目录说明
●bin:存放启动和关闭 Tomcat 的脚本文件,如 catalina.sh、startup.sh、shutdown.sh
●conf:存放 Tomcat 服务器的各种配置文件,如主配置文件 server.xml 和 应用默认的部署描述文件 web.xml
●lib:存放 Tomcat 运行需要的库文件的 jar 包,一般不作任何改动
●logs:存放 Tomcat 执行时的日志
●temp:存放 Tomcat 运行时产生的文件
●webapps:存放 Tomcat 默认的 Web 应用项目资源的目录
●work:Tomcat 的工作目录,存放 Web 应用代码生成和编译文件
三.Tomcat 虚拟主机配置
很多时候公司会有多个项目需要运行,一般不会是在一台服务器上运行多个 Tomcat 服务,这样会消耗太多的系统资源。此时, 就需要使用到 Tomcat 虚拟主机。
例如现在新增两个域名 www.Alice.com 和 www.Jubjub.com, 希望通过这两个域名访问到不同的项目内容。
1.创建Alice 和 Jubjub 项目目录和文件
2.修改Tomcat 主配置文件 server.xml
vim /usr/local/tomcat/conf/server.xml
在165行左右
PS:Host
name:主机名
appBase:Tomcat程序工作目录,即存放web应用程序的目录;相对路径为webapps,绝对路径为 /usr/local/tomcat/webapps
unpackWARs:在启用此webapps时是否对WAR格式的归档文件先进行展开;默认为true
autoDeploy:在Tomcat处于运行状态时放置于appBase目录中的应用程序文件是否自动进行deploy;默认为true
xmlValidation:是否验证xml文件执行有效性检验的标志
xmlNamespaceAware:是否启用xml命名空间,设置该值与xmlValidation为true,表示对web.xml文件执行有效性检验
Context
docBase:相应的Web应用程序的存放位置;也可以使用相对路径,起始路径为此Context所属Host中appBase定义的路径;
path:相对于Web服务器根路径而言的URI;如果为空"",则表示为此webapp的根路径 / ;
reloadable:是否允许重新加载此context相关的Web应用程序的类;默认为false
如果配置错误则会显示
现在能正常重启了
3.客户端浏览器访问验证
必须找到正确的本机hosts地址
浏览器访问查看结果