tomcat

目录

概念

tomcat的特点和功能

tomcat的组件

逻辑流程

安装步骤

tomcat目录的作用

[打开manager app页面](#打开manager app页面)

配置tomcat的虚拟主机


概念

tomcat和php一样,都是用来处理动态页面的。tomcat也可以作为web应用服务器,它是开源的。

它处理的是以.jsp为结尾的文件。tomcat是用java代码写的程序,运行的是java的web应用程序。

tomcat的特点和功能

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

2.jsp容器:javasever page,这是一种动态页面的技术,可以在html的页面里面嵌入java代码

3.自身也是一个http服务器

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

它主要是优化,tomcat自身的优化以及系统的内核优化和jvm优化

servlet:是Java语言当中开发web应用程序的关键组件。功能:处理http请求,生成动态内容以及响应客户端的请求,处理java的业务逻辑,进行会话管理。可以保持用户的状态信息,购物车同步,用户登录等等,也可以转发nginx的动态请求到数据库。

jsp:web应用程序的界面,这个界面的语言是用Java实现的。是以.jsp为结尾的文件(index.jsp)

tomcat的组件

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

container:负责处理业务逻辑,它是由engine host context wrapper四个功能组成

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

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

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

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

service:对外提供外部服务,包含connector和container

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

逻辑流程

安装步骤

1.先安装java

2.添加识别java的配置文件

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

3.重启配置source /etc/profile.d/java.sh

4.解压tomcat

tar -xf apache-tomcat-9.0.16.tar.gz

mv apache-tomcat-9.0.16 tomcat

mv tomcat /usr/local

5.启动tomcat

然后 ./startup.sh运行

查看端口启动netstat -antp | grep 8080

访问192.168.233.40:8080

tomcat目录的作用

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

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

  3. context.xml :host的默认配置信息

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

  5. lib:tomcat运行时需要的jar包(一般不动)

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

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

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

打开manager app页面

  1. cd /usr/local/tomcat/webapps/manager/META-INF
  1. vim context.xml

3.在conf,tomcat-users.xml中,添加账户密码

cd /usr/local/tomcat/

cd conf/

vim tomcat-users.xml

<role rolename="manager-gui"/>

<user username="tomcat" password="tomcat" roles="manager-gui"/>

4.cd bin/

./stutdown.sh

./startup.sh

netstat -antp | grep 8080

访问192.168.233.40:8080点击tomcat输入账号密码tomcat

配置tomcat的虚拟主机

vim server.xml

删除147行并添加两个站点

<Host name="www.xy102.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">

<Context docBase="/usr/local/tomcat/webapps/xy102" 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>

vim /etc/hosts做映射

实现结果

相关推荐
Grey Zeng2 小时前
Java SE 25新增特性
java·jdk·jdk新特性·jdk25
雨白3 小时前
Java 线程通信基础:interrupt、wait 和 notifyAll 详解
android·java
架构师沉默7 小时前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构
Java中文社群9 小时前
重要:Java25正式发布(长期支持版)!
java·后端·面试
每天进步一点_JL10 小时前
JVM 类加载:双亲委派机制
java·后端
用户2986985301410 小时前
Java HTML 转 Word 完整指南
java·后端
渣哥10 小时前
原来公平锁和非公平锁差别这么大
java
渣哥11 小时前
99% 的人没搞懂:Semaphore 到底是干啥的?
java
J2K11 小时前
JDK都25了,你还没用过ZGC?那真得补补课了
java·jvm·后端
kfyty72511 小时前
不依赖第三方,不销毁重建,loveqq 框架如何原生实现动态线程池?
java·架构