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、安全規範、性能優化

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章