tomcat安装和配置

Tomcat

1、tomcat

1.1 概念

tomcat和php一样,都是用来处理动态页面的

tomcat’也可以作为web应用服务器,开源的。

1.2 处理的后缀名

1.2.1 php: .php

1.2.2 tomcat :.jsp

1.2.3 nginx: .html

tomcat是用java代码写的程序,运行的是java的web应用程序

1.3 特点和功能:

1.3.1 servlet容器:执行java servlet,是一种服务端的java程序,用来处理客户端的http请求,以及响应

1.3.2 jsp容器,javaserver page,这是一个动态页面技术,可以在html的页面里面嵌入java代码。

1.3.3 自身也是一个http服务器

1.3.4 tomcat是一个轻量级的动态页面处理程序,高并发场景不适用,

tomcat主要功能:优化、tomcat自身的优化,以及系统的内核优化,jvm优化。

2、servlet

2.1 定义:java语言中用来开发web应用程序的关键组件

2.2 功能:处理http请求,生产动态内容以及响应客户端的请求(请求-----响应)

​ 处理java的业务逻辑、进行会话管理(保持用户的状态信息,购物车同步、用户登录等等)

​ 转发nginx的动态请求到数据库

3、jsp

3.1 定义:web应用程序的界面(这个界面的语言是用java实现的)是以.jsp为结尾的文件(如:index.jsp)

4、tomcat的组件

4.1 connector

负责对外接收和响应请求,他是tomcat与客户端沟通的枢纽,监听端口、接收外界请求(端口:默认8080)。接收到了请求之后,传递给其他组件进行处理,处理完成之后回到connector,再响应给客户端

4.2 container

负责处理业务逻辑,由enginehostcontextwrapper四个功能组成

engine:用来管理多个虚拟主机,一个service只能有一个engine。

host:一个host就是一个主机,也可以叫站点,通过配置host,可以添加多个站点

context:一个contex代表一个web应用

wrapper:封装器,负责处理最底层的逻辑

4.3 service

对外提供外部服务,包含connectorcontainer

tomcat可以有多个service,每个service之间互相是独立的。

5、tomcat工作流程图

在这里插入图片描述

6、tomcat安装流程

主机tomcat-5:192.68.100.15

systemctl stop firewalld
setenforce 0

cd /opt
拖java包  #tomcat依赖于java环境,先装jdk安装包
拖tomcat包

rpm -ivh jdk-8u201-linux-x64.rpm
java -version
# 查看java环境
# openjdk version "1.8.0_181"

vim /etc/profile.d/java.sh

# 插入以下代码
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH

wq!

source /etc/profile.d/java.sh
java -version
# java -version "1.8.0_201"

tar -xf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 tomcat
# 修改安装包名称为tomcat

mv tomcat /usr/local
# 修改tomcat路径为/usr/local

cd /usr/local/tomcat/bin
./startup.sh

netstat -antp | grep 8080
# 查看端口是否开启

页面访问tomcat-5ip:192.168.100.15:8080
# 需要加上端口访问

7、tomcat目录的作用

bin:存放启动和关闭tomcat脚本的文件,startup.sh shutdown.sh

conf :存放tomcat的主配置文件,server.xml主配置文件

contex.xml:host的默认配置信息

tomcat-user.xml:登录是认证用户和密码的相关信息,manager文件必须要赋权修改后才能打开

lib:tomcat运行时需要的jar包,一般不动。

logs:日志文件,catalina.out 主日志文件

temp:存放tomcat运行时生产的文件

webapps:部署web应用的目录,类似于nginx的html

8、打开manager app

安装tomcat,页面访问tomcat的ip地址,页面出现manage app,点击manager app出现403,需要赋权修改后才能打开

如何打开manager app?

cd /usr/local/tomcat/webapps/manager/META-INF
# 上述manager目录对应manager app页面

vim context.xml
# 修改以<Context 开头,以</Context>结尾中的allow,修改如下

allow=".*" />
wq!

cd /usr/local/tomcat/conf
vim tomcat-users.xml
# 在以<tomcat-user开头,以version="1.0">结尾的下面添加

<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
wq!

cd /usr/local/tomcat/bin
./shutdown.sh
./startup.sh
netstat -antp | grep 8080

#页面访问192.168.100.15:8080,点击manager app模块
#用户名:tomcat和密码:tomcat

配置tomcat的虚拟主机

1.创建 kgc 和 benet 项目目录和文件
mkdir /usr/local/tomcat/webapps/kgc   
mkdir /usr/local/tomcat/webapps/benet
echo "This is kgc page\!" > /usr/local/tomcat/webapps/kgc/index.jsp
echo "This is benet page\!" > /usr/local/tomcat/webapps/benet/index.jsp

2.修改 Tomcat 主配置文件 server.xml
vim /usr/local/tomcat/conf/server.xml
#删除
#148       <Host name="localhost"  appBase="webapps"
#149             unpackWARs="true" autoDeploy="true">


---------------------Tomcat 虚拟主机配置-------------------------
很多时候公司会有多个项目需要运行,一般不会是在一台服务器上运行多个 Tomcat 服务,这样会消耗太多的系统资源。此时, 就需要使用到 Tomcat 虚拟主机。
例如现在新增两个域名 www.kgc.com 和 www.benet.com, 希望通过这两个域名访问到不同的项目内容。

1.创建 kgc 和 benet 项目目录和文件
mkdir /usr/local/tomcat/webapps/kgc   
mkdir /usr/local/tomcat/webapps/benet
echo "This is kgc page\!" > /usr/local/tomcat/webapps/kgc/index.jsp
echo "This is benet page\!" > /usr/local/tomcat/webapps/benet/index.jsp

2.修改 Tomcat 主配置文件 server.xml
vim /usr/local/tomcat/conf/server.xml
--165行前--插入
<Host name="www.kgc.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
	<Context docBase="/usr/local/tomcat/webapps/kgc" path="" reloadable="true" />
</Host>   

<Host name="www.benet.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
	<Context docBase="/usr/local/tomcat/webapps/benet" path="" reloadable="true" />
</Host>

----------------------------------------------------------------------------------------------------------
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文件执行有效性检验

docBase:相应的Web应用程序的存放位置;也可以使用相对路径,起始路径为此Context所属Host中appBase定义的路径;
path:相对于Web服务器根路径而言的URI;如果为空“”,则表示为此webapp的根路径 / ;
reloadable:是否允许重新加载此context相关的Web应用程序的类;默认为false

命名空间,设置该值与xmlValidation为true,表示对web.xml文件执行有效性检验

docBase:相应的Web应用程序的存放位置;也可以使用相对路径,起始路径为此Context所属Host中appBase定义的路径;
path:相对于Web服务器根路径而言的URI;如果为空“”,则表示为此webapp的根路径 / ;
reloadable:是否允许重新加载此context相关的Web应用程序的类;默认为false

  • 24
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值