Tomact学习笔记

1 搭建基础运行环境 JDK1.8

下载jdk

安装jdk

配值环境变量

  • 配置环境变量JAVA_HOEM
  • path路径%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin

2 安装Tomcat服务器 win linux

下载Tomact

https://tomact.apache.org/download-70.cgi
avatar;

解压

启动

点击目录下的startup.bat,页面根目录为webapps文件夹

解决中文乱码问题

在conf/logging.properties文件中将utf-8全局替换为GB2312

linux安装

教程:https://www.imooc.com/video/19205

目录结构说明

bin 存放Tomact运行的命令

- 类别
  + .sh结尾 linux运行命令
  + .bat结尾 window运行命令
- 主要命令
  + startup
  + shutdown
  + catalina 设置Tomact的内存和字符集

conf 配置文件

- catalina目录可以设置默认加载的项目
- catalina.policy 防止jsp文件,或者用户代码破坏Tomact的容器
- catalina.properties 不能对jsp和jar修改的文件列表
- context.xml 用来配置数据源之类的东西
- logging.properties 记录tomcat服务器运行的日志记录
- server.xml可以设置域名、端口号、IP、请求的编码、默认加载的项目。
- tomcatt-users.xml tomact的web页面管理员权限
- web.xml可以设置tomcat服务器支持的文件类型。启动信息,启动页

backup

conf文件夹的备份

lib

存放Tomcat服务器所需要的所有Jar包。

logs

用来存放Tomcat执行时的日志文件。清除此文件不会对Tomcat服务器产生影响。开始时此文件目录为空。只有运行了Tomcat才会在此目录下生成日志文件。

temp

用来存放Tomcat执行过程中产生的临时文件。清除此文件不会影响Tomcat服务器。

webapps

tomcat默认部署路径。目录用来存放应用程序,当Tomcat启动时会加载webapps目录下的应用程序。当然可以以war包、Jar包、普通文件夹三种形式发布应用。你也可以把应用程序存放在电脑磁盘的任意一个位置,但是在配置文件中要配置好,使其映射好。

work

用来存放Tomcat运行时编译后的文件。清空work目录,重启Tomcat,可以达到清除Tomcat服务器缓存的目的。

wtpwebapps

和webapps功能差不多,但是它是eclipse默认的部署路径。与webapps同时存在时,默认选择wtpwebapps。

配置端口号

如果多个Tomcat安装在同一台操作系统上,需要分配3组3个端口,共9个不同的端口。

shutdown端口

关闭tomcat通信接口, port:指定一个端口,这个端口负责监听关闭Tomcat的请求 shutdown:向以上端口发送的关闭服务器的命令字符串

<Server port="8005" shutdown="SHUTDOWN">

AJP端口

与其他http服务器通信接口,用于http服务器集合

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

HTTP端口

建立http连接 用,如浏览器访问

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

修改内存

内存模型

+ 堆内存,引用类型
+ 栈内存 局部变量
+ 静态内存区 常量

内存溢出

OutOfMemoryError:Java heap space异常
OutOfMemoryError:PermGen space异常
StackOverflowError异常
最大内存设置为物理内存的1/4

热部署

定义

就是在应用正在运行的时候升级软件,却不需要重新启动应用(tomact)

操作实现

  • 1.直接将项目放到webapps文件夹
  • 2.修改server.xml中的Host标签,增加Context标签,如下代码
     <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/>
        <!-- 修改配置如下 -->
		<Context docBase="F:\work_code\front_demo\code\WebContent" path="front_demo" debug="0" privileged="true"></Context>
      </Host>
  • 3.在conf\Catalina\localhost文件夹中新建一个xml文件,如front_demo.xml,文件夹内容如下
<Context docBase="F:\work_code\front_demo\code\WebContent" debug="0" privileged="true">
</Context>

数据库连接池和数据源

什么是连接池

如何配置

JDBC操作数据库

加载驱动-->创建链接--> 执行SQL-->释放链接

Tomact实现web管理

管理界面功能简述

使用tomact管理界面发布项目

修改发布war包大小最大值

修改下面的值 \webapps\manager\WEB-INF\web.xml

    <multipart-config>
      <!-- 50MB max -->
      <max-file-size>52428800</max-file-size>
      <max-request-size>52428800</max-request-size>
      <file-size-threshold>0</file-size-threshold>
    </multipart-config>

单点登录(SSO)

CAS

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

  • CAS Server
  • CAS Client

安全配置

关闭服务器端口

修改端口号或者命令

隐藏版本信息

用压缩工具打开找到 catalina.jar/org/apache/catalina/util/ServerInfo.properties,修改以下参数值:

  server.info=Apache Tomcat/7.0.92
  server.number=7.0.92.0
  server.built=Nov 9 2018 11:07:44 UTC

禁用Tomact管理界面

ROOT 文件夹重命名,去除了根目录

自定义错误页面

在/conf/web.xml文件中增加如下代码,将error.html放到ROOT目录下

<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端口管理

nginx反向代理的时候就不用AJP,可以注释掉
Apache需要
操作如下:经conf/server.xml中的以下代码注释掉

   <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>

启用cookie的HttpOnly

修改conf/context.xml

<Context useHttpOnly="true">
</Context>

保存在客户端的纯文本文件,服务器生成的证书返回给浏览器,浏览器保存在本地

XSS-跨站脚本攻击

Tomact安全规范

账号管理,认证授权

修改 conf/tomact-users.xml,包含以下三个

  • 共享,无关账号
  • 口令密码
  • 用户权限

日志配置操作

修改conf/tomact-users.xml

      <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="common" prefix="localhost_access_log." suffix=".txt"/>
      </Host>

其他配置项

界面操作用户应定时自动登出,修改conf/tomact-users.xml中connectionTimeout值(单位为ms)

 <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

优化配置

缓存优化(nginx,gzip)

css,图片,js

运行模式

  • BIO:Tomcat7以下默认模式
  • NIO: 基于缓冲区,非阻塞的I/O (推荐)
  • APR: Tomcat7及以上默认模式

猜你喜欢

转载自www.cnblogs.com/jerrypig/p/12985790.html