虚拟主机配置,tomcat优化
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
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;
Engine,host,context,wrapper 四个容器之间属于父子关系
容器由一个引擎可以管理多个虚拟主机。每个虚拟主机可以管理多个web应用,每个web应用会有serviet封装器
请求过程
被在那里监听的 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
CLASSPATH:bianyi,运行java程序时,jre回去该变量指定的路径中去搜索所需的类(.class)文件
cd /etc/profile.d
vim java.sh
化境变量从左往右加载
javac 编译成类文件
java 运行
cd /bin
./startuo.sh 后台启动 ./catalina.sh start
前台启动 ./catalina.sh run
jps调出当前系统运行的java进程
主要目录
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 #检测状态
DNS解析cd /etc/named.conf
master 起别名n定的文件 /etc/name/named.19 file中要有/var/log里有相应文件
master 起别名
/etc/resolv.conf
指定DNS服务器
server.xml
主配置文件
web.xml
网页描述配置文件
tcp 8080 用于接受和响应客户端的请求,负责建立http请求
8005 关闭tomcat进程的端口
Tomcat的https:8443
8009 负责ajp协议连接通信
命名空间:同一个目录是否有相同的文件存在
多tomcat实例
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
cd /tomcat2/bin
tomcat优化
操作系统的优化(内核优化)
tomcat配置优化
默认安装的缺省配置不适合生产环境,
[redirectport] 如果某近接器支持的协议是TTP,"接收客户洲发来的HTTes请求时,则转发至此属性定义的 8443 端口.
[maxthreads] Tomcat使用线程来处理接收的每个请求,这个值表示Tomcat可创建的最大的线程数,即支持的最大并发连接数,默认值是 200。
[minspareThreads] 最小空闲线程数,Tocat 启动时的初始化的线程数,表示即使没有人使用也开这么多空线程等待,默认值是 10。
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