部署Tomcat負載均衡

      網友投稿 888 2022-05-30

      重新對tomcat進行了梳理,并發布了新的文章,文章鏈接:https://blog.csdn.net/weixin_44953658/article/details/105896186

      一、理論部分

      Tomcat介紹

      Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規范總是能在Tomcat 中得到體現,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 規范。因為Tomcat 技術先進、性能穩定,而且免費,因而深受Java 愛好者的喜愛并得到了部分軟件開發商的認可,成為目前比較流行的Web 應用服務器。

      Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬于輕量級應用服務器,在中小型系統和并發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP 程序的首選。對于一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache 服務器,可利用它響應HTML(標準通用標記語言下的一個應用)頁面的訪問請求。實際上Tomcat是Apache 服務器的擴展,但運行時它是獨立運行的,所以當你運行tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。

      當配置正確時,Apache 為HTML頁面服務,而Tomcat 實際上運行JSP 頁面和Servlet。另外,Tomcat和IIS等Web服務器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態HTML的能力不如Apache服務器。目前Tomcat最新版本為9.0。

      Tomcat各節點介紹

      Server節點

      Tomcat實例的最頂層元素,對應Tomcat服務器,僅一個。

      port:指定監聽關閉Tomcat服務器請求的端口。端口用于標記網絡上的一個進程,由此一個端口只能唯一的標記一臺主機上的一個進程,但是一個進程可以對應多個端口。

      shutdown:指定向上述端口發送的命令字符串。

      Service節點

      監聽來自客戶端的http請求,一個Server節點可以有多個Service節點。個人認為所謂的多個Service是,服務器開啟了多個線程去監聽不同端口收到的來自客戶端的http請求。

      name:指定Service的名字。

      Connector節點

      主要設置Service的監聽端口。

      客戶端與Service之間的鏈接,配置客戶端與服務端的鏈接信息。Tomcat默認監聽的是8080端口,商業網站對外發布,若想? 用戶不輸入端口,使用http協議的默認端口,這里就必須將其改成80。一個Service節點可以有多個Connector節點。一個端口只能對應一個進程,但是一個進程可以對應多個端口。

      port:指定監聽客戶端請求的端口。

      protocol:指定傳輸協議。

      connectionTimeout:指定鏈接超時時間,毫秒。

      redirectPort:指定Service正在處理http請求時收到SSL請求后重定向的端口。

      Engine節點

      處理監聽到的來自客戶端的http請求,一個Service節點僅有一個Engine節點。

      name:指定Engine的名字。

      defaultHost:指定主機缺省時,默認的主機,必須是某個Host結點的name值。

      一個完整的http請求網址為:協議://主機:端口/虛擬目錄/站點根目錄/資源如?http://localhost:8080/aa/examples/index.html。

      主機(也可以是虛擬主機或者域名),對應著ip。網絡上的一臺服務器只有一個ip,但是一個ip可以對應多個邏輯主機,即一個ip可以有多個域名。這多個邏輯主機實際只對應一個真正的物理主機,由此稱為虛擬主機。

      虛擬目錄,暫且認為是真實路徑的一個別名,可以沒有。

      Host節點

      主要設置Service的虛擬主機。

      配置虛擬主機,一個Engine節點可以有多個Host節點,即多個虛擬主機。

      name:指定虛擬主機的名字。該名字可以隨便定義,但是必須能被DNS解析到,要對應到指定的ip地址。要定義虛擬主機,先要申請域名。

      appBase:指定存放web應用程序的根目錄,如webapps,我們的站點根目錄都應該放在此目錄下。站點實際是一個有著特定結構的文件夾,該文件夾的結構有著自己的特點,如必須有一個WEB—INF子文件夾,該子文件夾又必須有一個web.xml文件。

      Tomcat的conf下有個web.xml文件,用于配置web應用的的信息,被服務器上的全部站點共享,這里的改變會影響到所有的站點。通常我們都是配置web應用站點根目錄下的web.xml文件,其改變只對該應用起作用。該文件可以用于設置web應用 的默認資源

      Context節點

      主要設置Service的虛擬目錄和默認站點。

      配置虛擬目錄和默認站點,一個Engin節點可以有多個Context節點,即多個虛擬目錄。我們在訪問http://locaohost:8080的時候實際訪問的是http://locaohost:8080/ROOT/index.jsp。使用http協議,根據localhost定位到主機,根據端口8080定位到主機上的Tomcat服務器Service進程,此時因為用戶沒有指定站點和資源,則訪問conf下的server.xml配置的默認站點和資源。在erver.xml中找不到該配置,是因為ROOT是通過硬編碼寫好的,但是可以通過配置文件修改成其他的站點。

      path:指定web應用程序的虛擬路徑,如/aa

      docBase:指定web應用程序的實際存放路徑,即虛擬目錄的實際路徑,具體到站點目錄

      reloadable:若為true,Tomcat會自動檢測項目WEB—INF目錄下的lib和classes文件夾的內容,若有變化會自動重新加載項目而無需重啟服務器。

      Logger節點

      Tomcat的log信息配置。

      className:指定log使用的類名,必須實現org.apache.catalina.Logger接口。

      prefix:指定log文件的前綴。

      suffix:指定log文件的后綴。

      timestamp:若為true,則log文件名中必須加入時間戳。

      Value節點

      類似Logger。

      directory:指定log文件的存放位置。

      directory(指定log文件存放的位置):

      pattern 有兩個值,common方式記錄遠程主機名或ip地址,用戶名,日期,第一行請求的字符串,HTTP響應代碼,發送的字節數。combined方式比common方式記錄的值更多。

      Tomcat目錄

      |---bin:存放啟動和關閉tomcat腳本;

      |---conf:存放不同的配置文件(server.xml和web.xml);

      |---doc:存放Tomcat文檔;

      |---lib/japser/common:存放Tomcat運行需要的庫文件(JARS);

      |---logs:存放Tomcat執行時的LOG文件;

      |---src:存放Tomcat的源代碼;

      |---webapps:Tomcat的主要Web發布目錄(包括應用程序示例);

      |---work:存放jsp編譯后產生的class文件;

      二、部署過程

      環境準備

      部署tomcat平臺

      1.1安裝JDK

      [root@localhost ~]#?tar xvf jdk-7u65-linux-x64.gz

      [root@localhost ~]#?mv jdk1.7.0_65/ /usr/local/java

      1.2建立java.sh

      [root@localhost ~]#?vim /etc/profile.d/java.sh

      export JAVA_HOME=/usr/local/java

      export PATH=$JAVA_HOME/bin:$PATH

      [root@localhost ~]#?source /etc/profile.d/java.sh

      [root@localhost ~]#?java –version? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //檢測java版本

      [root@localhost ~]#?java version "1.7.0_65"

      Java(TM) SE Runtime Environment (build 1.7.0_65-b17)

      Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

      2.安裝tomcat

      [root@localhost ~]#?tar xvf ?apache-tomcat-7.0.54.tar.gz

      [root@localhost ~]#?mv apache-tomcat-7.0.54 /usr/local/tomcat

      [root@localhost ~]#?/usr/local/tomcat/bin/startup.sh? ? ?//啟動Tomcat程序

      3.搭建成功實例

      訪問:http://127.0.0.1:8080

      搭建nginx+tomcat負載均衡集群

      1.建立java的web站點(在Tomcat服務器上,每臺做一個頁面)

      [root@localhost ~]#?mkdir -p /web/webapp1

      [root@localhost ~]#?vim /web/webapp1/index.jsp

      <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

      JSP test1 page

      <% out.println("Welcom to test site,http://www.test1.com");%>

      2.修改主配置文件

      [root@localhost ~]#?vim /usr/local/tomcat/conf/server.xml

      ? ?//存在

      ? ?//寫入

      ? ? ? ? ? ? ?//寫入

      部署Tomcat負載均衡

      3.Nginx配置實現負載均衡

      實現準備yum源,需要下載依賴軟件

      3.1編譯安裝nginx

      [root@localhost ~]#?yum -y install pcre-devel zlib-devel openssl-devel

      [root@localhost ~]#?groupadd www

      [root@localhost ~]#?useradd -g www ?www -s /bin/false

      [root@localhost ~]#?tar xvf nginx-1.6.0.tar.gz

      [root@localhost ~]#?cd nginx-1.6.0

      [root@localhost ~]#?./configure --prefix=/usr/local/nginx --user=www --group=www --with-

      file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-

      http_flv_module --with-http_ssl_module && make && make install

      [root@localhost ~]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin

      3.2修改nginx配置文件

      [root@localhost ~]#?vim /usr/local/nginx/conf/nginx.conf

      ·····

      #gzip ?on;

      upstream tomcat_server {

      server 192.168.1.100:8080 weight=1;

      server 192.168.1.101:8080 weight=1;

      }

      server {

      listen ??????80;

      server_name ?localhost;

      #charset koi8-r;

      #access_log ?logs/host.access.log ?main;

      location / {

      root ??html;

      index ?index.html index.htm;

      proxy_pass http://tomcat_server;

      }

      3.3啟動nginx

      [root@localhost ~]#?nginx

      4.測試

      訪問:http://nginx服務器IP不加端口,不停刷新

      Tomcat 負載均衡緩存

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Vue的父子組件通信(十種)
      下一篇:網站開發進階(四十九)由JS報“未結束的字符串常量”引發的思考
      相關文章
      亚洲av无码国产综合专区| 久久久久亚洲AV无码专区网站| 久久乐国产精品亚洲综合| 亚洲欧美日本韩国| 亚洲三级视频在线观看| 亚洲性一级理论片在线观看| 亚洲第一页在线观看| 内射干少妇亚洲69XXX| 亚洲一级二级三级不卡| 久久精品亚洲中文字幕无码麻豆| 久久亚洲免费视频| 久久亚洲AV成人出白浆无码国产| 久久久无码精品亚洲日韩京东传媒| 亚洲天天在线日亚洲洲精| 亚洲色偷偷av男人的天堂| 亚洲视频在线观看不卡| 亚洲天堂福利视频| 亚洲毛片基地4455ww| 亚洲熟妇久久精品| 亚洲aⅴ天堂av天堂无码麻豆| 激情婷婷成人亚洲综合| 亚洲国产日韩在线观频| 亚洲日韩中文无码久久| 亚洲AV无码成人精品区天堂 | 亚洲AV无码久久精品色欲| 久久精品国产96精品亚洲| 亚洲好看的理论片电影| 亚洲视频在线不卡| 亚洲人成网男女大片在线播放| 亚洲中文字幕无码爆乳app| 亚洲日韩精品无码AV海量| 豆国产96在线|亚洲| 亚洲精品国产精品国自产观看 | 亚洲一级免费毛片| 亚洲中文字幕乱码熟女在线| 色五月五月丁香亚洲综合网| 亚洲精品国产综合久久一线| 国产亚洲一区二区精品| 精品亚洲成a人片在线观看| 亚洲视频无码高清在线| 精品亚洲成A人在线观看青青|