成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網
最全最豐富的資訊網站

Tomcat介紹、安裝配置以及簡單的實現Tomcat負載均衡

Tomcat介紹、安裝配置以及簡單的實現Tomcat負載均衡

壓測工具:JMeter

一、軟件架構模式

1、分層架構:表現層,業務層,持久層,數據庫層

2、事件驅動架構:分布式異構架構,高度解耦,大型應用場景

3、微內核架構:插件式架構,各種功能以插件形式對接到核心上

4、微服務架構:整體系統功能中每一項功能,只要功能能夠單獨調用,每個功能就做成一個單元。基于API REST-based,application REST-based,中心化消息

5、基于空間的架構:云架構

二、webapp容器

tomcat,jetty,resin

jboss

websphere,weblogic

三、Java相關

1、tomcat由java程序編寫,是為了更好支持其它java而編寫的,比如說jsp(java server page)

2、java編程語言,是一種企業級應用程序

JDK:java development kit,java的開發工具

JRE:java運行開發環境,JVM+標準庫組成

JVM:java虛擬機

openjdk:開源社區版jdk

3、tomcat是只實現了java2EE的JSP和servlet,配置上的關鍵標識符是catalina

4、JDK 6就是JDK 1.6版,JDK 6u1就是JDK 1.6版本第一次升級

四、tomcat相關

1、端口使用

使用8080端口,http協議,tomcat user

使用8443端口,https協議

使用8009端口,ajp協議,在http做反向代理時候使用

ajp:apache jserv protocol

2、.do和.jsp文件傳遞給tomcat處理

3、動+靜結合:LNMT或者LAMT

五、JDK的部署

1、tomcat的運行之前需要部署JDK

2、Oracle JDK的部署

oracle網站進入后下載

rpm -ivh jdk-8u191-linux-x64.rpm

解壓縮后進入目錄

default/bin/下有很多腳本,如果想使用這些腳本,需要添加環境變量

vim /etc/profile.d/java.sh

JAVA_HOME=/usr/java/latest

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME PATH

完成后,java -version就可以顯示

3、Open JDK的部署

yum info all java*

yum -y install java-1.8.0-openjdk-devel

4、alternatives,同一程序多版本并存時候選擇默認版本

六、tomcat的安裝

1、二進制安裝

(1)wget http://URL或者下載

tar xf apache-tomcat-xxx.tar.gz -C /usr/local

cd /usr/local

ln -sv apache-tomcat-xxx tomcat

(2)配置文件:目錄下/conf/server.xml

(3)配置啟動過程

useradd tomcat -s /sbin/nologin

cd tomcat/

chown -R :tomcat ./*

chown -R tomcat logs/ temp/ work/

chmod g+rx conf/

vim /etc/profile.d/tomcat.sh

CATALINA_BASE=/usr/local/tomcat

PATH=$CATALINA_BASE/bin:$PATH

export CATALINA_BASE PATH

exec bash

catalina.sh start后啟動

訪問8080端口頁面就出來了

2、第二種安裝

yum -y install tomcat tomcat-docs-webapp tomcat-admin-webapps tomcat-webapps

安裝好后systemctl start tomcat

注:后三個tomcat-docs-webapp tomcat-admin-webapps tomcat-webapps為應用程序,不需要可以不裝

七、jsp相關

1、.jsp ->Jasper -> .java ->javac ->.class

.jsp通過Jasper翻譯為.java,再編譯為javac,最后轉換成.class類文件

Test Page

<%language=java

%>

八、tomcat的目錄結構

1、目錄說明

bin:腳本,及啟動時用到的類;

conf:配置文件目錄;

lib:庫文件,Java類庫,jar;

logs:日志文件目錄;

temp:臨時文件目錄;

webapps:webapp的默認目錄;

work:工作目錄;

2、rpm包安裝的程序環境:

配置文件目錄:/etc/tomcat

主配置文件:server.xml

工作目錄webapps默認存放位置:/var/lib/tomcat/webapps/

examples

manager

host-manager

docs

Unit File:tomcat.service

環境配置文件:/etc/sysconfig/tomcat

當/var/lib/tomcat/webapps/ROOT/test/index.jsp,訪問對應host:8080/test就是訪問的該目錄

3、tomcat的配置文件構成:

(1)server.xml:主配置文件;

(2)web.xml:每個webapp只有“部署”后才能被訪問,它的部署方式通常由web.xml進行定義,其存放位置為WEB-INF/目錄中;此文件為所有的webapps提供默認部署相關的配置;

(3)context.xml:每個webapp都可以專用的配置文件,它通常由專用的配置文件context.xml來定義,其存放位置為WEB-INF/目錄中;此文件為所有的webapps提供默認配置;

(4)tomcat-users.xml:用戶認證的賬號和密碼文件;

(5)catalina.policy:當使用-security選項啟動tomcat時,用于為tomcat設置安全策略(除非有特別配置上的需要,否則不建議使用-security選項);

(6)catalina.properties:Java屬性的定義文件,用于設定類加載器路徑,以及一些與JVM調優相關參數;

(7)logging.properties:日志系統相關的配置; log4j

九、tomcat配置文件

1、tomcat配置結構

server {

service {

conntor { } —-》一個service中可以多個conntor對應一個engine

engine { —-》每個service只能有一個engine

host { } —-》engine中可以有多個host

host {

context { }

}

}

}

}

2、Tomcat的核心組件:server.xml

每一個組件都由一個Java“類”實現,這些組件大體可分為以下幾個類型:

頂級組件:Server

服務類組件:Service

連接器組件:http, https, ajp(apache jserv protocol)

容器類:Engine, Host, Context

被嵌套類:valve(對用戶的請求過濾), logger, realm, loader, manager, …

集群類組件:listener, cluster, …

九、WebApp的組織架構

1、JSP WebAPP的組織結構:

/: webapps的根目錄

(1)index.jsp, index.html:主頁;

(2)WEB-INF/:當前webapp的私有資源路徑;通常用于存儲當前webapp的web.xml和context.xml配置文件;

(3)META-INF/:類似于WEB-INF/;

(4)classes/:類文件,當前webapp所提供的類;

(5)lib/:類文件,當前webapp所提供的類,被打包為jar格式;

2、webapp歸檔格式:

.war:webapp

.jar:EJB的類打包文件;

.rar:資源適配器類打包文件;

.ear:企業級webapp;

3、部署(deploy)webapp的相關操作:

(1)deploy:將webapp的源文件放置于目標目錄(網頁程序文件存放目錄),配置tomcat服務器能夠基于web.xml和context.xml文件中定義的路徑來訪問此webapp;將其特有的類和依賴的類通過class loader裝載至JVM;

(2)部署有兩種方式:

自動部署:auto deploy

手動部署:

冷部署:把webapp復制到指定的位置,而后才啟動tomcat;

熱部署:在不停止tomcat的前提下進行部署;

部署工具:manager、ant腳本、tcd(tomcat client deployer)等;

undeploy:反部署,停止webapp,并從tomcat實例上卸載webapp;

start:啟動處于停止狀態的webapp;

stop:停止webapp,不再向用戶提供服務;其類依然在jvm上;

redeploy:重新部署;

(3)手動提供一測試類應用,并冷部署:

# mkidr -pv /usr/local/tomcat/webapps/test/{classes,lib,WEB-INF}

創建文件/usr/local/tomcat/webapps/test/index.jsp

<%@ page language="java" %>

<%@ page import="java.util.*" %>

<% out.println("hello world");

%>

十、tomcat的兩個管理應用:

manager:管理webapps應用程序

host-manager:管理虛擬主機

1、manager:管理webapps應用程序

如果登錄這兩個應用,需要去配置目錄tomcat-users.xml里編輯

二進制目錄在tomcat/conf/下

rpm包安裝在/etc/tomcat/tomcat.conf

更改后重啟tomcat,之后可以點擊進入Manager App

2、host-manager:管理虛擬主機

十一、tomcat的常用組件配置:

1、Server:代表tomcat instance,即表現出的一個java進程;監聽在8005端口,只接收“SHUTDOWN”。各server監聽的端口不能相同,因此,在同一物理主機啟動多個實例時,需要修改其監聽端口為不同的端口;

注意:server.xml不要讓其他用戶有讀權限,chmod o= /etc/tomcat/server.xml

2、Service:用于實現將一個或多個connector組件關聯至一個engine組件;

3、Connector組件:端點,定義tomcat所監聽的地址和端口,不屬于任何host,而屬于整個tomcat

負責接收請求,常見的有三類http/https/ajp;

進入tomcat的請求可分為兩類:

(1)standalone : 請求來自于客戶端瀏覽器;

(2)由其它的web server反代:來自前端的反代服務器;

nginx –> http connector –> tomcat

httpd(proxy_http_module) –> http connector –> tomcat

httpd(proxy_ajp_module) –> ajp connector –> tomcat

httpd(mod_jk) –> ajp connector –> tomcat

屬性:

port="8080"

protocol="HTTP/1.1"

connectionTimeout="20000"

address:監聽的IP地址;默認為本機所有可用地址;

maxThreads:最大并發連接數,默認為200;

enableLookups:是否啟用DNS查詢功能;

acceptCount:等待隊列的最大長度;

secure:

sslProtocol:

4、Engine組件:Servlet實例,即servlet引擎,其內部可以一個或多個host組件來定義站點; 通常需要通過defaultHost屬性來定義默認的虛擬主機;

屬性:

name=

defaultHost="localhost"

jvmRoute=

5、Host組件:位于engine內部用于接收請求并進行相應處理的主機或虛擬主機,示例:

unpackWARs="true" autoDeploy="true">

Webapp ARchives

常用屬性說明:

(1)appBase:此Host的webapps的默認存放目錄,指存放非歸檔的web應用程序的目錄或歸檔的WAR文件目錄路徑,類似于apache的/var/×××w/html;如果使用的是相對路徑,則是相對于$CATALINA_BASE變量的相對路徑;

(2)unpackWARs,是否自動解壓

(3)autoDeploy:自動部署,在Tomcat處于運行狀態時,將某webapp放置于appBase所定義的目錄中時,是否自動將其部署至tomcat;,生產環境中不建議自動部署,關閉該功能

示例:部署tomcat

安裝好openjdk、tomcat后,我們如果想要建立一個其它的工作目錄來存放以后的項目,首先在配置文件server.xml中有

其次,手動建立目錄

mkdir /app/webapps/ROOT/{classes,lib,WEB-INF}

mkdir /app/webapps/test-0.1/{classes,lib,WEB-INF}

vim /app/webapps/test-0.1/index.jsp

<%@ page language="java" %>

<%@ page import="java.util.*" %>

<% out.println("hello world");

%>

之后由你自己決定是否要虛擬主機的主頁,如果要,拷貝默認目錄下ROOT目錄的內容到手建目錄下ROOT。如果需要Manager App和Host Manager,還需要將host-manager和manager兩個目錄一并拷貝至此

為了便于做灰度發布,可以在工作目錄/app/webapps為目錄做軟鏈接

ln -sv test-0.1 test

最后形成的tree形圖為

結果圖

灰度發布示例:

image.pngimage.png

6、Context組件:

示例:

綜合示例:

prefix="node1_access" suffix=".log"

pattern="%h %l %u %t "%r" %s %b" />

prefix="node1_test_access_" suffix=".log"

pattern="%h %l %u %t "%r" %s %b" />

7、Valve組件:

valve,閥門,控制組件

prefix="localhost_access_log" suffix=".txt"

pattern="%h %l %u %t "%r" %s %b" />

https://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/valves/AccessLogValve.html

訪問下a.chen.com

Valve存在多種類型:

定義訪問日志:org.apache.catalina.valves.AccessLogValve

定義訪問控制:org.apache.catalina.valves.RemoteAddrValve

舉例:兩種方式

注意:tomcat只支持基于主機名的虛擬主機,不支持IP地址

十一、App Manager

1、實例列表

2、圖形界面熱部署

十二、tomcat的反向代理

1、NT架構中,nginx將.jsp和.do格式代理給tomcat

LNMT:Linux Nginx MySQL Tomcat

Client (http) –> nginx (reverse proxy)(http) –> tomcat (http connector)

location / {

proxy_pass http://tc1.magedu.com:8080;

}

location ~* .(jsp|do)$ {

proxy_pass http://tc1.magedu.com:8080;

}

這么寫入后nginx反代不能進入Manager App或者Host Manager,需要更進一步的定義規則通過rewrite進入

2、AT架構

(1)LAMT:Linux Apache(httpd) MySQL Tomcat

httpd的代理模塊:

proxy_module

proxy_http_module:適配http協議客戶端;

proxy_ajp_module:適配ajp協議客戶端;

Client (http) –> httpd (proxy_http_module)(http) –> tomcat (http connector)

Client (http) –> httpd (proxy_ajp_module)(ajp) –> tomcat (ajp connector)

Client (http) –> httpd (mod_jk)(ajp) –> tomcat (ajp connector)

(2)proxy_http_module代理配置示例:

ServerName a.chen.com

ProxyRequests Off

ProxyVia On

ProxyPreserveHost On

Require all granted

ProxyPass / http://a.chen.com:8080/

ProxyPa***everse / http://a.chen.com:8080/

Require all granted

ProxyPass / http://a.chen.com:8080/

結果

http反代可以進入Manager App或者Host Manager

(3)proxy_ajp_module代理配置示例:

ServerName a.chen.com

ProxyRequests Off

ProxyVia On

ProxyPreserveHost On

Require all granted

ProxyPass / ajp://a.chen.com:8009/

ProxyPa***everse / ajp://a.chen.com:8009/

Require all granted

同樣可以進入Manager App或者Host Manager

十三、keepalived實現nginx對tomcat的負載均衡調度

1、準備nginx一主一從調度器,兩臺的/etc/nginx/nginx.conf都是這么寫

配置這兩臺主機的keepalived.conf

2、準備兩臺tomcat主機

192.168.239.72和192.168.239.73

配置nginx.conf頁面

3、測試

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
特级毛片爽WWW免费版| 天堂√最新版中文在线| 日韩精品无码人妻免费视频| 色妺妺AⅤ爽爽影院偷拍| 少妇亚洲XXXX| 亚洲AV无码一区东京热不卡| 亚洲人成在线观看无码| 自拍偷自拍亚洲精品播放| 爱情岛网站亚洲禁18进入| 粉嫩粉嫩的18在线免免费观看| 国产精品嫩草影院AV| 精品乱子伦一区二区三区| 蜜臀久久99精品久久久久久小说| 欧美颜射内射中出口爆在线| 色欲色香天天天综合WWW| 性丰满ⅩXXOOO性FREE| 亚洲欧美日韩国产综合V| 97在线无码免费人妻短视频| 多肉大尺寸小黄说说| 国内精品久久久久久久影视| 久久综合给合久久狠狠狠97色6 | 337P粉嫩日本欧洲亚洲大胆艺| АⅤ资源天堂资源库在线| 国产精品成人3p一区二区三区| 精品久久国产综合婷婷五月| 欧产日产国产精品精品| 色在线 | 国产| 亚洲色播爱爱爱爱爱爱爱| BGMBGMBGM成熟交| 国产精品亚洲片在线| 久久精品夜夜夜夜夜久久| 人妻丰满熟妇AV无码区乱| 无遮挡裸体免费视频尤物 | JK白丝极品被CAO到流水呻吟| 国产成人无码一区二区在线播放| 久久99精品国产99久久6男男| 欧美老少配XXXOOO性HD| 无码播放一区二区三区| 治愈系恋人 电视剧| 国产97在线 | 欧美| 久久精品成人无码观看不卡| 秋霞鲁丝片AⅤ无码入口| 无遮挡粉嫩小泬久久久久久欧| 月光影院在线观看免费直播| 高清不卡一区二区三区| 久久久久久一区国产精品| 日韩欧美一区二区三区视频 | 精品乱码久久久久久中文字幕| 青草青草久热精品视频国产4| 亚洲AV成人无码久久www小说| 2020久久国产综合精品SWA| 国产精品无码AⅤ精品影院| 免费看人妻丰满熟妇AV无码片| 婷婷五月18永久免费网站| 1000部啪啪未满十八勿入不卡| 国产精品久久久久久久久爆乳| 妺妺窝人体色www聚色窝图片| 午夜性影院爽爽爽爽爽爽 | 艳妇乳肉豪妇荡乳ⅩXXO电影| 隔壁人妻偷人BD中字| 久久亚洲人成网站| 五十路熟妇无码专区| JAPANESEⅩⅩⅩHD护士| 狠狠色丁香久久婷婷综合蜜芽五月| 人和畜禽CROPROATION| 亚洲色无码国产精品网站可下载| 岛国岛国免费V片在线观看| 猫咪AV最新永久网址无码| 无码中文字幕AV久久专区| JIZZJIZZ日本高潮喷水| 久久99精品久久久久久HB无码| 特级西西WWW444人体聚色| 9420高清完整版在线观看| 激情内射亚洲一区二区三区| 三个女儿一锅烩大团圆全文阅读| 中文字幕日韩一区二区三区不卡| 国产亚洲精品第一综合麻豆| 日韩欧美午夜成人精品视频| 综合图区亚洲欧美另类图片| 黑人巨大精品人妻一区二区| 舌头伸进去添的我好爽高潮电影| 99精品无人区乱码在线观看 | 亚洲熟妇AV综合网五月| 国产精品无码久久AV| 人妻无码不卡中文字幕在线视频| 在线精品亚洲观看不卡欧| 好男人官网在线观看免费播放| 少妇被躁爽到高潮无码文| 97成人碰碰久久人人超级碰OO| 久精品夜色国产亚洲AV| 无码激情亚洲一区| 第一次接黑人嫖客| 欧美性狂猛XXXXXBBBBB| 在线播放国产一区二区三区| 黑人欧美一区二区三区4p| 无码成人一区二区三区| 草莓视频免费观看| 欧美交换配乱吟粗大和黄| 一边摸一边抽搐一进一出视频| 加勒比色综合久久久久久久久| 无码aⅴ精品一区二区三区浪潮| 成人午夜福利免费无码视频| 欧美日韩视频一区二区| 中文字幕人妻在线中字 | 欧美另类VIDEOSSEXO潮| 在线精品自偷自拍无码中文| 精品无码一区二区三区水蜜桃| 亚洲AV无码不卡一区二区三区| 国产精品国产三级国产AV主播| 少妇BBW搡BBBB搡| 成人无码视频免费播放| 人妻仑乱A级毛片免费看| 99成人国产综合久久精品| 免费女性裸体啪啪无遮挡网站| 尤物AV无码色AV无码| 久久无码人妻丰满熟妇区毛片 | MM1313又粗又大受不了| 女性の乳頭を凸起しています| 与狐妖的同居生活| 久久天天躁夜夜躁狠狠2018| 亚洲熟妇AV不卡一区二区三区| 精品久久久久久无码国产| 亚洲精品无码久久久久不卡| 好深好湿好硬顶到了好爽| 亚洲AV无码一区二区三区乱码4 | 午夜丰满少妇性开放视频| 国产精品久久久久久妇女| 无人区码一码二码三码区别在哪里| 国产AV无码专区亚洲AV手机麻| 色欲色AV免费观看| 番茄TODO社区免费看片| 天天躁夜夜躁狠狠是什么心态| 国产边做饭边被躁在线播放91 | 日本高清二区视频久二区| 啊轻点内射在线视频| 人妻少妇无码专视频在线| 成人免费无码大片A毛片抽搐色欲 成人免费无码大片A毛片抽搐 | 越南少妇毛茸茸的大BBW| 免费观看电视剧全集在线播放| 337P日本大胆欧美裸体艺术| 欧美高清VIDEOS36OP| 暴躁老阿姨CSGO| 色婷婷五月综合激情中文字幕 | 亚洲AⅤ永久无码无人区电影| 国产一区二区三区在线观看免费| 亚洲高清国产AV拍精品青青草原| 精品无码一区二区三区| 伊人久久大香线蕉AV不卡| 女主快穿到各个世界做小三| 啊灬用力灬啊灬啊灬啊灬| 色综合天天天天综合狠狠爱| 国产精品美女久久久久| 亚洲AV无一区二区三区久久| 久久久久久久精品成人热色戒 | 人人添人人妻人人爽夜欢视AV | 少女たちよ在线观看动漫| 国产伦精品一区二区三区| 亚洲国产精品日韩AV专区| 狂猛欧美激情性XXXX大豆行情 | 全免费A敌肛交毛片免费| 公翁的粗大放进我的秘密小说 | 黑人粗硬进入过程视频| 亚洲综合小说另类图片五月天| 男人激烈吮乳吃奶到高潮视频| 把腿张开老子臊烂你的漫画| 无码AV人片在线观看天堂| 黑人入室强丰满人妻| 中文亚洲爆乳AV无码专区 | 成人欧美一区二区三区黑人| 忘忧草影视WWW在线播放网| 黑人性狂欢在线播放| 自拍偷自拍亚洲精品被多人伦好爽| 人人爽人人爽人人爽人人片AV| 国产精品无码无在线观看| 亚洲日韩国产精品第一页一区| 欧码的XL是亚洲码| 国产99久久久国产无需播放器| 亚洲高清AⅤ日本欧美视频| 免费看美女被靠到爽的视频| 丰满圆润大胸在线| 亚洲卡1卡2乱码新区仙踪| 欧美群妇大交乱视| 国产成人一区二区| 一区二区三区高清AV专区| 日本丰满老妇BBB| 国语对白做受XXXXX在线中国| 中国老女人老熟女人BB操| 上司人妻互换HD无码| 久久精品国产亚洲夜色AV网站 | 玉蒲团2之玉女心经| 日韩人妻无码精品专区综合网| 黑人巨大精品欧美一区二区免费| 97久久婷婷五月综合色D啪蜜芽| 无码A级毛片视频| 久久伊人少妇熟女大香线蕉| 抖抈探探APP入口免费| 亚洲午夜精品一区二区| 日产无人区二线三线乱码| 精品无码乱码AV| 成年女人毛片免费视频喷潮|