tomcat服务配置与性能优化

Tomcat服务配置

1Tomcat概述以及运行原理

2Tomcat环境搭建

3Tomcat的配置详情

 

单点登录

多域名访问

Tomcat性能调优

 

概念和原理

1Apache软件基金会

2、开源软件

3、中小型应用服务器

 

Tomcat市场占比

 

 

 

 

核心组件 Connector Container

Connector组件

1、接收客户端连接

2、加工处理客户端请求

 

Container

1、所有的子容器的父接口

2、责任链涉及模式

 

 

tomcat的环境安装_windows

如果出现乱码该怎么解决

 

tomcat默认的是utf-8,而电脑的编码是GB2312

解决办法:找到loging.properties后,将UTF-8修改为GB2312

 

tomcat的环境安装_linux 与windows差别不大

 

目录说明

conf

catalina.policy:主要是用来防止JSP代码或者用户代码破坏tomcat的容器

catalina.properties:主要是不能被jsp或者serverlet修改的jar的列表

context.xml:有关于web服务的web.xml的文件位置

logging.properties:配置了日志输出格式等内容

server.xml:是tomcat中最主要的配置文件,在tomcat启动的时候,去构建tomcat容器

tomcat-users.xml:人员或者管理员的信息

web.mxl:配置一些启动信息

 

lib

是一个共享jar包,也可以放置一些其他的JAR包

 

logs

在tomcat运行过程中形成的日志

 

webapps

ROOT目录是一个根目录

 

work

主要用于存放一些编译的文件

 

修改tomcat端口号

配置端口号

端口范围:1-65535

 

port8080:建立http服务

port8005:SHUTDOWN端口监听关闭tomcat请求

port8009:AJP服务,把tomcat与其他的服务器集成

 

修改内存

内存模型

1、堆内存                  2、栈内存                        3、静态内存区

 

OutOfMemoryErrorJava heap space异常    项目中引用的JAR比较多,导致内存溢出, 默认最大为内存的1/4,最小为内存的64/1

OutOfMemoryError:PermGen space异常  通常是由于加载的类过多导致的

StackOverflowError异常  通常是由于死循环或者是无限递归导致

 

set JAVA_OPTS="-server -Xms256m -Xmx512m

-XX:MetaspaceSize=128m

-XX:MaxMetaspaceSize=256m"

 

热部署

什么是热部署

如何配置热部署

1、直接将war包丢进webapps里面

2server.xml

添加

<context debug="0" docBase="D:\demo1\web" path="/demo1" reloadable="true">

3、在\conf\Catalina\localhost文件夹底下

放置一个xml文件,比如demo2.xml

添加

<?xml version="1.0" encoding="UTF-8"?>

<context debug="0" docBase="D:\demo1\web"  reloadable="true">

 

数据库连接池与数据源

什么是连接池

如何配置数据源

 

 

 

 

Web管理

1、管理界面功能简述

2、使用tomcat管理界面发布项目

最核心的三个内容是Server StatusManager APPHost Manager

 

我们首先选择Manage APP,弹出

选择取消后,出现

复制内容到tomcat-user.xml文件下

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

 

 

 

 

 

单点登录

1、什么是单点登录

单点登录(Single Sign On),简称为SSO,是目前比较流行的企业业务整合的解决方案之一。

 

SSO的定义是在多个应用场景中,用户只需要登录一次就可以访问所有相互信任的应用系统。

 

 

CAS

1、开源的企业级单点登录解决方案

2CAS Server CAS Client

 

2、单点登录的应用场景

3、如何配置Tomcat单点登录

开源CAS

https://www.apereo.org/

 

配置https

 

 

多域名访问

1、提高资源利用率

2、如何配置多域名访问

 

host  标签内 appbase 属性  项目路径,autodeploy='true'热部署,name属性,映射的ip 名

也可以在context 标签内 加 reload='true' 

 

基于IP

 

 

基于端口

 

 

关闭shutdown端口

1、安装后初始化配置

1)关闭服务器端口            2)隐藏版本信息                     3)禁用Tomcat管理页面

 4)自定义错误页面             5 AJP端口管理                      6)启用cookieHttpOnly

 

关闭服务器端口

输入SHUTDONW则关闭,如果通过安全的角度上来说,需要把这个SHUTDONW的指令改成别人不容易猜测到的指令

 

解决办法:修改SHUTDOWN命令以及修改端口号

修改后

输入SHUTDOWN无法关闭

2、安全规范

 

 

修改版本号

为了防止黑客攻击,隐藏tomcat版本信息

修改后

 

禁用TOMCAT管理界面

防止黑客通过tomcat管理界面去攻击服务器

解决 办法:将ROOT文件夹改名为ROOT_1,再新建一个ROOT文件

再访问管理页面时会出现404

 

自定义错误页面

直接报404不存在,页面不友好

 

web.xml下配置

<error-page>

<error-code>400</error-code>

<location>/error.html</location>

</error-page>

 

<error-page>

<error-code>404</error-code>

<location>/error.html</location>

</error-page>

<error-page>

<error-code>500</error-code>

<location>/error.html</location>

</error-page>

 

AJP协议

tomcathttp服务器通信而定制的协议,可以提供比较高的通信协议,如果tomcat前端使用的是apache连接器的时候,会使用到AJP连接器,如果是使用Nginx做的反向代理的话,就可以不使用AJP连接器

不使用AJP连接器,则将其注释即可(只适用于Nginx反向代理)

 

 

修改Cookies安全性

启用cookieHttpOnly,因为使用这个属性,可以提供cookie的安全性

 

1、保存在客户端的纯文本文件(服务器端写入客户端)

2cookie实现离线购物车

3XSS-跨站脚本攻击

 

解决办法:

context.xml文件下,Context节点 增加属性 useHttpOnly="true"

 

tomcat安全规范

1、账号管理、认证授权

1)共享、无关账号

 

访问hots-manager权限拒绝

解决办法:

2)口令密码

 

3)用户权限

 

2、日志配置操作

server.xml里面有一个日志记录的功能

3、设备其他配置操作

对于具备字符串交互的用户,也就是数据交互 的界面,应该支持定时的账户自动登出,来保证数据的安全性

server.xml里面,找到Connector里面的connectionTimeout

 

tomcat性能优化

缓存优化(nginxgzip

运行模式

1)BIO:tomcat7以下默认模式

2NIO:基于缓存区、非阻塞的I/O

3APRtomcat7及以上默认模式

 

Tomcat总结

1tomcat概念、运行原理

2、环境搭建、部署

3Tomcat常用配置

4、单点登录、多域名访问等(实际开发使用较多的是redis

5、安全规范、性能优化

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值