Tomcat部署及优化

tomcat部署优化

虚拟主机配置,tomcat优化

Tomcat部署及优化_第1张图片

 Tomcat部署及优化_第2张图片

 tomcat是java开发的语言

tomcat 核心组件

1,web容器,完成web服务功能

2,serblet容器名字为catalina,用于处理servlet代码

3,jsp容器,用于将jsp动态页面翻译成servlet代码

什么是servlet?

Servlet是java serviet的简称,可以理解为是一个服务连接器,用java编写的服务器程序,具有独立的平台和协议的特性,简单的理解,servlet是一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态页面的创建

什么是jsp?java server pages,动态网页开发技术,使用jsp标签再html页面中插入java代码,标签通常以<% 开头%> 结束。

核心功能:接受和反馈外部请求的connector和负责处理请求的容器container

Tomcat部署及优化_第3张图片

 

Connector 负责对外接受和响应请求,是tomcat与外界的交通枢纽,监听端口接收外界请求,并将请求处理后传递给容器做业务处理,最后将容器处理后的结果响应给外界

Container负责对外处理业务逻辑,主要内部包括engine,host,context,wrapper四个容器,用于管理和调用servlet相关逻辑

Service对外提供web服务,主要有connetor和container核心组件,tomcat可以管理service且各service之间相互独立

Container 结构分析:

每个 Service 公包含一个 Container 容器。在 container 内部包含了 4 个子容器:4个子容器的作用分别是:(1) Engine: 引擎,用来管理多个虚拟主机,一个 service 最多只能有一个 Engine;

  1. Host: 代表一个虚拟主机,也可以叫站点,通过配置 Host 就可以添加站点:
  2. Context; 代表一个 Web 应用,包含多个 Servlet 封装器
  3. Wrapper: 封装器,容器的最底层。每一 wrapper 封装着一个 servet,负责对象实例的创建、执行和销毁功能

Tomcat部署及优化_第4张图片

 

Engine,host,context,wrapper 四个容器之间属于父子关系

容器由一个引擎可以管理多个虚拟主机。每个虚拟主机可以管理多个web应用,每个web应用会有serviet封装器

Tomcat部署及优化_第5张图片

 

请求过程

被在那里监听的 Connector 获得,Connector 把该请求交给它所在的 Service 的 Engine (Container) 来处理,并等待 Engine 的回应:请求在 engine、Host、Context 和 rapper 这四个容器之间层层调用,最后在 Servlet 中执行对应的业务逻辑、数据存储等。执行完之后的请求响应在 context、Host、Engine 容器之间层层返回,最后返回给 Comnector,并通过 Comnector 返回给客户端。

jdbc

请求过程:

client -> connector连接器(默认8080端口)-> engine -> host ->context ->wrapper再层层返回

tomcat安装

java -version

Tomcat部署及优化_第6张图片

 

CLASSPATH:bianyi,运行java程序时,jre回去该变量指定的路径中去搜索所需的类(.class)文件

cd /etc/profile.d

vim java.sh

Tomcat部署及优化_第7张图片

 

化境变量从左往右加载

Tomcat部署及优化_第8张图片

 

javac 编译成类文件

java 运行

cd /bin

./startuo.sh   后台启动    ./catalina.sh start

前台启动 ./catalina.sh run

jps调出当前系统运行的java进程

Tomcat部署及优化_第9张图片

 

Tomcat部署及优化_第10张图片

 主要目录

bin 存放启动关闭tomcat脚本文件,如catalina.sh startup, shutdown.sh

conf 存放tomcat服务器的各种配置文件,

lib存放运行所需的jar包

logs存放日志

temp 运行时产生的文件

webapps站点的网络文件

work 工作目录存放web应用代码和编译文件

服务配置

vim      /usr/lib/systemd/system/tomcat.service

[Unit]

Description=tomcat server

Wants=network-online.target

After=network.target

[Service]

Type=forkingExecStart=/usr/local/tomcat/bin/startup.sh

ExecStop=/usr/local/tomcat/bin/shutdown.sh

Restart=on-filure

[Install]

WantedBy=multi-user.target

systemctl restart tomcat  #启动systemctl enable tomcat   #配置自启systemctl stop  tomcat   #停止服务systemctl status  tomcat  #检测状态

Tomcat部署及优化_第11张图片

 

DNS解析cd /etc/named.conf

master 起别名n定的文件  /etc/name/named.19 file中要有/var/log里有相应文件

master 起别名

/etc/resolv.conf

指定DNS服务器

Tomcat部署及优化_第12张图片

 

server.xml

主配置文件

web.xml

网页描述配置文件

tcp 8080 用于接受和响应客户端的请求,负责建立http请求

8005 关闭tomcat进程的端口

Tomcat的https:8443

8009 负责ajp协议连接通信

Tomcat部署及优化_第13张图片

 

命名空间:同一个目录是否有相同的文件存在

Tomcat部署及优化_第14张图片

 多tomcat实例

Tomcat部署及优化_第15张图片

 

vim tomcat/conf/server.xml

改端口

vim tomcat.sh

#tomcat

export CATALINA_HOME1=/usr/local/tomcat

export CATALINA_BASE1=/usr/local/tomcat

export TOMCAT_HOME1=/usr/local/tomcat

#tomcat1

export CATALINA_HOME1=/usr/local/tomcat

export CATALINA_BASE1=/usr/local/tomcat

export TOMCAT_HOME1=/usr/local/tomcat

cd /tomcat/bin

vim statup.sh

vim shutdown.sh

Tomcat部署及优化_第16张图片

 cd /tomcat2/bin

Tomcat部署及优化_第17张图片

 

tomcat优化

操作系统的优化(内核优化)

tomcat配置优化

默认安装的缺省配置不适合生产环境,

[redirectport] 如果某近接器支持的协议是TTP,"接收客户洲发来的HTTes请求时,则转发至此属性定义的 8443 端口.

[maxthreads] Tomcat使用线程来处理接收的每个请求,这个值表示Tomcat可创建的最大的线程数,即支持的最大并发连接数,默认值是 200。

[minspareThreads] 最小空闲线程数,Tocat 启动时的初始化的线程数,表示即使没有人使用也开这么多空线程等待,默认值是 10。

Tomcat部署及优化_第18张图片

cd /tomcat/conf/server.xml

 

             connectionTimeout="20000"

               redirectPort="8443"

               maxThreads="1000"

               processorCache="1000"

               acceptCount="500"

               minSpareThreads="50"

               enablelLookups="false"

               URIEncoding="UTF-8"

               maxKeepAliveRequests="100"/>

cd /tomcat/conf/server.xml

外部应用服务器设置压缩功能

ps -T 查看线程 -p 指定 pid

你可能感兴趣的:(tomcat,java,servlet)