CentOS 7 Tomcat服務的安裝與配置

一、Linux下的Java運行環境

Java是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言,是由Sun Microsystems公司於1995年5月推出的Java程序設計語言和Java平臺(即JavaSE, JavaEE, JavaME)的總稱。Java 技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用於個人PC、數據中心、遊戲控制檯、科學超級計算機、移動電話和互聯網,同時擁有全球最大的開發者專業社羣。在全球雲計算和移動互聯網的產業環境下,Java更具備了顯著優勢和廣闊前景。

JDK(Java Development Kit)是Sun Microsystems針對Java開發員的產品。自從Java推出以來,JDK已經成爲使用最廣泛的Java SDK(軟件開發工具包)。JDK 是整個Java的核心,包括了Java運行環境、Java工具和Java基礎類庫。

二、CentOS支持的JDK

在CentOS 7 中,既可以安裝開源的OpenJDK,也可以安裝Oracle的Java SE(JDK)。通常CentOS 7官方倉庫提供的開源的openjdk對於Java應用程序已經夠用了,但是國內的開發者通常使用Windows平臺上的Java SE進行開發,爲了保證生產服務器和開發者計算機上的環境相一致,也可以在Linux上安裝Oracle的Java SE。

三、Tomcat服務簡介

Tomcat服務器是一個免費的開放源代碼的Web應用服務器,屬於輕量級應用服務器,在中小型系統和併發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP程序的首選。因爲Tomcat技術先進、性能穩定而且免費,因而深受Java愛好者的喜愛並得到了部分軟件開發商的認可,成爲目前比較流行的Web應用服務器。

Tomcat不僅僅是一個Java容器,同時也具有傳統的Web服務器的功能:處理HTML頁面,但是與Apache/Nginx相比,其處理靜態HTML的能力不如Apache/Nginx,通常可以將Tomcat和Apache/Nginx集成到一起,讓Apache/Nginx處理靜態HTML,而讓Tomcat處理JSP和Java。

JSP全名爲Java Server Pages,中文名叫java服務器頁面,其根本是一個簡化的Servlet設計,它是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準。JSP技術有點類似ASP技術,它是在傳統的網頁HTML(標準通用標記語言的子集)文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件,後綴名爲(.jsp)。
用JSP開發的Web應用是跨平臺的,既能在Linux下運行,也能在其他操作系統上運行。

[官方網站:](http://tomcat.apache.org/)

Tomcat雖然可以跑jsp網頁,通常不會使用它作爲web服務器,而是作爲中間件。

四、Tomcat服務的搭建與配置

如果你的系統已經安裝了開發工具包,那麼本機就已經有了java
如果沒有安裝開發工具包,使用yum源命令安裝

英文系統安裝: # yum -y groupinstall "Development tools"
中文系統安裝: # yum -y groupinstall "開發工具"

1. 驗證java版本

[root@Tomcat ~]# java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)

2. 安裝Java和Tomcat

在這裏系統自帶的java我們不使用,我們使用下載的最新版java版本。因爲jdk是java程序運行的環境,解壓即能用,不需要修改。
第一步:下載、解壓安裝jdk

[root@Tomcat ~]# wget http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.tar.gz
[root@Tomcat ~]# tar xvf jdk-8u161-linux-x64.tar.gz -C /usr/local/

第二步:更改解壓後的名稱,方便識別

[root@Tomcat ~]# mv /usr/local/jdk1.8.0_161/ /usr/local/java/

第三步:下載、解壓安裝tomcat

[root@Tomcat ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.5/bin/apache-tomcat-9.0.5.tar.gz
[root@Tomcat ~]# tar xvf apache-tomcat-9.0.5.tar.gz -C /usr/local/
[root@Tomcat ~]# mv /usr/local/apache-tomcat-9.0.5/ /usr/local/tomcat/

3. Tomcat 目錄結構說明

[root@Tomcat ~]# cd /usr/local/tomcat/
[root@Tomcat tomcat]# ls
    bin             --啓動命令目錄
    conf           --配置文件目錄      *重點
    lib              --庫文件目錄
    logs           --日誌文件目錄      *重點
    temp         --臨時緩存文件
    webapps  --web應用家目錄    *重點
    work         --工作緩存目錄

4. 修改Tomcat環境變量

Tomcat是需要jdk才能運行,上面解壓安裝後,還需要在tomcat裏配置jdk的目錄

修改tomcat環境變量有三種方法:
第一種:定義在全局裏;如果裝有多個JDK的話,定義全局會衝突,不建議

[root@Tomcat ~]# vim /etc/profile

第二種:寫用戶家目錄下的環境變量文件.bash_profile

第三種:是定義在單個tomcat的啓動和關閉程序裏,建議使用這種

[root@Tomcat ~]# vim /usr/local/tomcat/bin/startup.sh                  --tomcat的啓動程序
[root@Tomcat ~]# vim /usr/local/tomcat/bin/shutdown.sh             --tomcat的關閉程序

把startup.sh和shutdown.sh這兩個腳本里的最前面加上下面一段:

export JAVA_HOME=/usr/local/java
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat
export CLASS_PATH=$JAVA_HOME/bin/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tool.jar
export PATH=$PATH:/usr/local/java/bin:/usr/local/tomcat/bin

CentOS 7 Tomcat服務的安裝與配置
classpath是指定你在程序中所使用的類(.class)文件所在的位置。
path是系統用來指定可執行文件的完整路徑。

5. 啓動Tomcat

前面安裝和配置好後,下面就可以啓動了,啓動時會有下面這一段輸出。

[root@Tomcat ~]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

查看端口,tomcat默認是8080端口

[root@Tomcat ~]# lsof -i:8080
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    31259 root   49u  IPv6 465528      0t0  TCP *:webcache (LISTEN)

關閉tomcat方法

[root@Tomcat ~]# /usr/local/tomcat/bin/shutdown.sh

使用瀏覽器打開測試

[root@Tomcat ~]# firefox http://192.168.1.20:8080/

可以看到如下界面
CentOS 7 Tomcat服務的安裝與配置

6. 修改Tomcat監聽端口

[root@Tomcat ~]# vim /usr/local/tomcat/conf/server.xml
 69     <Connector port="80" protocol="HTTP/1.1"               ----把8080改成80的話,重啓後就監聽80端口
 70                connectionTimeout="20000"
 71                redirectPort="8443" />

7. 目錄佈署

Tomcat的數據目錄(網站家目錄)

/usr/local/tomcat/webapps/ROOT/

把test目錄與ROOT同級或者是在ROOT的下一級都是可行的
[root@Tomcat ~]# mkdir /usr/local/tomcat/webapps/test         --目錄名字可自定義

[root@Tomcat ~]# vim /usr/local/tomcat/webapps/test/index.jsp   --自定義頁面內容,如下面的話(不要寫中文)
welcome to here!

8. 使用瀏覽器打開網頁進行測試

[root@Tomcat ~]# firefox http://192.168.1.20/test/            --這個是端口改爲80的打開瀏覽器網頁的方法
[root@Tomcat ~]# firefox http://192.168.1.20:8080/test/     --這個是端口爲8080的打開瀏覽器網頁的方法

CentOS 7 Tomcat服務的安裝與配置

五、搭建Java應用系統

1. 環境介紹

linux + apache + php + mysql --lamp環境 這是php環境
linux + nginx + php + mysql --lnmp環境 這是php環境
linux + tomcat + jsp + mysql --ljtm環境 這是java環境

2. 軟件包

jdk-8u161-linux-x64.tar.gz --java包
apache-tomcat-9.0.5.tar.gz --tomcat包
mysql-connector-java-5.1.45.tar.gz --tomcat連接mysql的工具包
jsprun_6.0.0_GBK.zip --java語言開發的應用系統(網上可以自行下載)

3. 開始部署

第一步:解壓應用系統

解壓應用系統:
[root@Tomcat ~]# unzip jsprun_6.0.0_GBK.zip -d /usr/local/tomcat/webapps/
更改名稱:
[root@Tomcat ~]# cd /usr/local/tomcat
[root@Tomcat tomcat]# mv ./webapps/JspRun\!_6.0.0_GBK/ ./webapps/jsprun/
移動應用至前面文件夾:
[root@Tomcat tomcat]# cd /usr/local/tomcat/webapps/jsprun/
[root@Tomcat jsprun]# mv upload/* ./

第二步:下載、解壓java連接mysql的工具包

[root@Tomcat ~]# wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.45.tar.gz
[root@Tomcat ~]# tar xvf mysql-connector-java-5.1.45.tar.gz -C /usr/src/
解壓後,把連接工具拷到tomcat的應用目錄
[root@Tomcat ~]# cd /usr/src/mysql-connector-java-5.1.45/
[root@Tomcat mysql-connector-java-5.1.45]# cp /usr/src/mysql-connector-java-5.1.45/mysql-connector-java-5.1.45-bin.jar  /usr/local/tomcat/webapps/jsprun/WEB-INF/

第三步:安裝mysql數據庫(注意:CentOS 7版本開始,系統自帶的數據庫爲mariadb,已經捨棄mysql數據庫)

[root@Tomcat ~]# yum -y install mariadb*
[root@Tomcat ~]# id mysql
uid=27(mysql) gid=27(mysql) 組=27(mysql)

如果沒有mysql這個用戶,手工創建一個mysql用戶
[root@Tomcat ~]# groupadd -g 27 mysql
[root@Tomcat ~]# useradd -u 27 mysql -g mysql

啓動數據庫
[root@Tomcat ~]# systemctl restart mariadb

登陸數據庫,創建java應用所需要的帳號和庫
[root@Tomcat ~]# mysql                  # 登錄數據庫
MariaDB> create database bbs;      # 創建bbs庫
MariaDB> show databases    ;          # 查看所有庫
MariaDB> grant all on bbs.* to 'bbs'@'localhost' identified by '123';      # 授權

MariaDB> flush privileges;            # 刷新
MariaDB> select user,host,password from mysql.user;    # 查看user表允許登錄的用戶

第五步:修改java應用配置連接數據庫

[root@Tomcat ~]# vim /usr/local/tomcat/webapps/jsprun/config.properties
dbhost = localhost    # 修改數據庫地址
dbport=3306           # 端口
dbuser = bbs        # 連接用戶名
dbpw = 123          # 密碼
dbname = bbs        # 庫名
pconnect = 0          # 持久連接

tablepre = jrun_
database = mysql
dbcharset =
charset = gbk
headercharset = 0
tplrefresh = 1      # 風格模板自動刷新開關
version=5.1

第六步:重啓tomcat才能生效

[root@Tomcat ~]# /usr/local/tomcat/bin/shutdown.sh        --關閉omcat
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

[root@Tomcat ~]# /usr/local/tomcat/bin/startup.sh             --啓動tomcat
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

第七步:使用瀏覽器打開訪問安裝

[root@Tomcat ~]# firefox http://192.168.1.20:8080/jsprun/install.jsp      --注意這裏後面的jsprun和install.jsp要自己輸出來(如果沒有改端口的話還要加上端口)

CentOS 7 Tomcat服務的安裝與配置
然後按照圖形指引安裝步驟下一步即可。

六、模塊調度舉例

1. 使用 Apache 的 ajp 模塊調用進行調度後面兩臺 Apache

CentOS 7 Tomcat服務的安裝與配置
第一步:先在調度機上的 apache 配置

[root@Apache ~]# yum -y install httpd*
[root@Apache ~]# vim /etc/httpd/conf.d/proxy_ajp.conf            # 注意,centos 7下沒有這個文件,但是也是支持 proxy_ajp 的,所以自己建立一個這個文件就可以了
ProxyPass /apache balancer://apache/     # 定義一個負載調度的名字,這個 apache 後面要加/,否則 就只能調網站家目錄的主頁,而不能調家目錄的其它文件
<Proxy balancer://apache/>
BalancerMember http://10.1.1.128        # 成員 128
BalancerMember http://10.1.1.129        # 成 員 129 , 如 果 129 的 端 口 爲 8080 , 則 就 寫 http://10.1.1.129:8080 就可以了
</Proxy>

[root@Apache ~]# systemctl restart httpd.service       --啓動Apache

擴展一:

ProxyPass /apache balancer://apache/ # proxypass 後面不是/,而是/tomcat
<Proxy balancer://apache/>
BalancerMember http://10.1.1.128
BalancerMember http://10.1.1.129:8080
</Proxy>
這樣實現的是當客戶端訪問 http://192.168.1.200/apache 時纔會調度,如果訪問 http://192.168.1.200 的話,則還是 192.168.1.200 上的網站

擴展二:

實現訪問 http://192.168.1.200/apache/調度給 128 和 129:8080
訪問 http://192.168.1.200/test/調度給 130 和 131:8081
訪問 http://192.168.1.200 的話,則還是訪問 192.168.1.200

ProxyPass /apache balancer://apache/
<Proxy balancer://apache/>
BalancerMember http://10.1.1.128
BalancerMember http://10.1.1.129:8080
</Proxy>
ProxyPass /abc balancer://test/
<Proxy balancer://test/>
BalancerMember http://10.1.1.130
BalancerMember http://10.1.1.131:8081

第二步:在兩臺後臺 web 服務器上也安裝 httpd,並做一個不同的主頁方便測試

在 128 上操作:
[root@Apache1 ~]# yum -y install httpd*
[root@Apache1 ~]# echo 128 > /var/www/html/index.html

在 129 上操作:
[root@Apache2 ~]# yum -y install httpd*
[root@Apache2 ~]# echo 129 > /var/www/html/index.html

第三步: 在Apache調度機上訪問 http://192.168.1.20/apache ,就可以實現調度

2. 使用 Apache 的 ajp 模塊調用進行調度後面兩臺 Tomcat

CentOS 7 Tomcat服務的安裝與配置
第一步: 先在 Apache 調度機上配置

[root@Apache ~]# yum -y install httpd*
[root@Apache ~]# vim /etc/httpd/conf.d/proxy_ajp.conf
ProxyPass /tomcat balancer://tomcat/                 # 定義一個調度,隨便寫
<Proxy balancer://tomcat/>
BalancerMember ajp://10.1.1.128:8009/ route=tomcat1       # 定義消息路由,名字自定義 BalancerMember ajp://10.1.1.129:8009/ route=tomcat2
</Proxy>

[root@Apache ~]# systemctl restart httpd.service       --啓動Apache

第二步:分別在被調度機 Tomcat 上加上消息路由

在 128 上的 Tomcat1 上操作:
[root@Tomcat1 ~]# vim /usr/local/tomcat/conf/server.xml
128 <Engine name="Catalina"defaultHost="localhost" jvmRoute="tomcat1">
# 在 128 的 tomcat 這一句後面加上 jvmRoute="tomcat1",名字和調度機上的對應
[root@Tomcat1 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@Tomcat1 ~]# /usr/local/tomcat/bin/startup.sh

在 129 上的 Tomcat2 上操作:
[root@Tomcat2 ~]# vim /usr/local/tomcat/conf/server.xml
128 <Engine name="Catalina"defaultHost="localhost" jvmRoute="tomcat2">
# 在 128 的 tomcat 這一句後面加上 jvmRoute="tomcat2",名字和調度機上的對應
[root@Tomcat2 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@Tomcat2 ~]# /usr/local/tomcat/bin/startup.sh

第三步:在 Apache 調度機上訪問 http://192.168.1.20/tomcat ,就可以實現調度
(1)它支持健康檢查,當一臺掛掉,就不調度它,當它 OK 了,需要對 apache reload 一下,才能再重新都調度兩臺。
(2)tomcat1 和 tomcat2 監聽的端口是 80 還是 8080 都可以,因爲是由 8009 調過來的。
(3)在兩臺的tomcat的index.jsp 主頁裏做兩個不同的標記:

在 128 上的 Tomcat1 上操作:
[root@Tomcat1 ~]# echo 128 >> /usr/local/tomcat/webapps/ROOT/index.jsp

在 129 上的 Tomcat2 上操作:
[root@Tomcat2 ~]# echo 129 >> /usr/local/tomcat/webapps/ROOT/index.jsp

最後,在 Apache 調度機上訪問 http://192.168.1.20/tomcat ,就可以實現調度,看到效果。

3. mod_jk 結合 Apache+Tomcat 實現負載均衡,動靜分離

CentOS 7 Tomcat服務的安裝與配置
在完成兩臺Tomcat1,Tomcat2的安裝之後,實現負載均衡,使用mod_jk可以實現節點的故障恢復功能,即一個節點出現問題,mod_jk會其不參與負載,在節點故障恢復後,mod_jk會讓其參與負載,對此節點是否失敗,對用戶而言是透明的。

實現流程:

  • (1)用戶訪問數據達到Apache後,如果是靜態內容,Apache立即迴應;
  • (2)如果Apache發現用戶請求的是動態內容如jsp,就將請求丟給其中的一臺tomcat來處理。
  • (3)每次用戶重複訪問時,都被分配到同一臺機器上(可以做會話粘滯或是會話複製)

負責負載均衡的主要是由一個配置文件完成!那就是workers.propertise。通過定義worker.list,port,host,type,lbfactor的值來定義每一臺Tomcat的主機;通過lbfactor來區別每臺機器的權重,權重數值越大得到的用戶請求數就越多。所以,只要重點關注這個文件的內容就行了。

第一步:實驗前準備寫/etc/hosts記錄

[root@Apache ~]# echo "10.1.1.1 Apache.com" >> /etc/hosts
[root@Apache ~]# echo "10.1.1.128 Tomcat1.com" >> /etc/hosts
[root@Apache ~]# echo "10.1.1.129 Tomcat2.com" >> /etc/hosts
[root@Apache ~]# scp /etc/hosts 10.1.1.128:/etc/hosts    --遠程拷貝 /etc/hosts 文件到128機子
[root@Apache ~]# scp /etc/hosts 10.1.1.129:/etc/hosts    --遠程拷貝 /etc/hosts 文件到129機子

時間同步:詳見CentOS 7.3 Xinetd服務的安裝與配置(http://blog.51cto.com/13525470/2060765)
關閉 iptables,selinux

第二步:在 Tomcat1 和 Tomcat2 上安裝好 Tomcat
詳見上面部分

第三步:在 Apache調度機上安裝 Apache,下面是源碼版的做法

如果以前編譯過 Apache,先使用下面兩條命令把源碼和安裝路徑全刪除
[root@Apache ~]# rm -rf /usr/src/httpd-2.4.28/
[root@Apache ~]# rm -rf /usr/local/apache2/
[root@Apache ~]# tar xf httpd-2.4.28.tar.bz2 -C /usr/src    --解壓編譯安裝
[root@Apache ~]# cd /usr/src/httpd-2.4.28/
[root@Apache ~]# ./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-modules=all --enable-mods-shared=all --with-mpm=prefork
[root@Apache ~]# make && make install
上面的編譯參數,可以不加--enable-proxy,--enable-proxy-ajp,--enable-proxy-balancer。因爲,我們這裏是使用 mod_jk 的。

第四步:在 Apache 調度機上編譯 mod_jk 模塊

[root@Apache ~]# wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.42-src.tar.gz
http://tomcat.apache.org/download-connectors.cgi    --上面的包(mod_jk)下載地址
[root@Apache ~]# tar xf tomcat-connectors-1.2.42-src.tar.gz -C /usr/src/
[root@Apache ~]# cd /usr/src/tomcat-connectors-1.2.42-src/
[root@Apache ~]# ls --這裏面 conf 裏有配置的模版,native 目錄裏可以與 apache 的 apxs 指令編譯出 mod_jk 模塊
conf  HOWTO-RELEASE.txt  LICENSE  NOTICE      support  xdocs
docs  jkstatus           native   README.txt  tools
[root@Apache ~]# cd native/
[root@Apache ~]# ./configure --with-apxs=/usr/local/apache2/bin/apxs    --源碼版的編法
[root@Apache ~]# make && make install
[root@Apache ~]# ls /usr/local/apache2/modules/mod_jk.so       --編譯後產生 mod_jk 模塊

第五步:配置 Apache 主配置文件,使其使用 mod_jk 的子配置文件

[root@Apache ~]# vim /usr/local/apache2/conf/httpd.conf
Include conf/extra/httpd-jk.conf          # 主配置文件加上這一句

第六步:拷貝要用到的配置文件模版

--拷貝 mod_jk 的配置文件模版到對應的 apache 配置目錄
[root@Apache ~]# cp /usr/src/tomcat-connectors-1.2.42-src/conf/httpd-jk.conf /usr/local/apache2/conf/extra/
--拷貝定義調度的配置文件模版
[root@Apache ~]# cp /usr/src/tomcat-connectors-1.2.42-src/conf/workers.properties /usr/local/apache2/conf/extra/
--拷貝定義動靜分離的配置文件模版
[root@Apache ~]# cp /usr/src/tomcat-connectors-1.2.42-src/conf/uriworkermap.properties /usr/local/apache2/conf/extra/

第七步:配置這三個配置文件

[root@Apache ~]# vim /usr/local/apache2/conf/extra/httpd-jk.conf
28  JkWorkersFile conf/extra/workers.properties        # 因爲我拷到 conf/extra,所以這裏改成對應的路徑
99  JkMountFile conf/extra/uriworkermap.properties                     # 打開註釋
115 SetEnvIf REQUEST_URI"\.(htm|html|css|gif|jpg|js)$"no-jk      # 打開註釋

<Location /jk-status>
JkMountjk-status
Orderdeny,allow
Deny from all
Allowfrom 127.0.0.1 192.168.1.20          # 加上允許 192.168.1.20 查看 jk-status
</Location>
<Location /jk-manager>
JkMount jk-manager
Order deny,allow
Deny from all
Allowfrom 127.0.0.1 192.168.1.20         # 加上允許 192.168.1.20 查看 jk-manager
</Location>

[root@Apache ~]# vim /usr/local/apache2/conf/extra/workers.properties
worker.list=balancer
worker.balancer.type=lb
worker.balancer.balance_workers=node1  # 指定的後面被調度的jvmroute 
worker.node1.reference=worker.template
worker.node1.host=10.1.1.128            # 後面被調度的 tomcat 的 IP
worker.node1.port=8009                       # 改成 8009
worker.node1.activation=A

worker.balancer.balance_workers=node2
worker.node2.reference=worker.template
worker.node2.host=10.1.1.129       # 另一臺的 IP
worker.node2.port=8009                   # 改爲 8009
worker.node2.activation=A
worker.template.type=ajp13

[root@Apache ~]# vim /usr/local/apache2/conf/extra/uriworkermap.properties
/admin/*=balancer           # 這些目錄下的所有文件都交給 balancer 去調度
/manager/*=balancer
/jsp-examples/*=balancer
/servlets-examples/*=balancer
/examples/*=balancer
/*.jsp=balancer             # 表示 apache 家目錄下*.jsp 就給 balancer 去進行後臺兩個 tomcat 的調度

第八步:部署網站內容
一個網站,在 Apache 和後臺 Tomcat 的家目錄裏都要部署相同的內容,實際情況可以使用共享存儲。
我這裏就把 Tomcat 裏的內容拷過來
要注意的是目錄的對應
我現在編譯版 Apache 的家目錄爲默認的/usr/local/apache2/htdocs/

所以我現在在 Tomcat1 上操作:
把下面目錄所有文件拷到 Apache 的家目錄

[root@Tomcat1 ~]# scp -r /usr/local/tomcat/webapps/ROOT/*  10.1.1.1:/usr/local/apache2/htdocs/

第九步:配置兩臺 Tomcat 的 jvmroute

在 Tomcat1 上操作
[root@Tomcat1 ~]# vim /usr/local/tomcat/conf/server.xml
<Engine name="Catalina"defaultHost="localhost"jvmRoute="node1">

在 Tomcat2 上操作:
[root@Tomcat2 ~]# vim /usr/local/tomcat/conf/server.xml
<Engine name="Catalina"defaultHost="localhost"jvmRoute="node2">

第十步:啓動服務

在1上的 Apache 上操作:
[root@Apache ~]# /usr/local/apache2/bin/apachectl restart

在 128 上的 Tomcat1 上操作:
[root@Tomcat1 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@Tomcat1 ~]# /usr/local/tomcat/bin/startup.sh

在 129 上的 Tomcat2 上操作:
[root@Tomcat2 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@Tomcat2 ~]# /usr/local/tomcat/bin/startup.sh

第十一步:測試

  1. 在客戶端上的 firefox 直接訪問 Apache http://192.168.1.20
    得到的是 Tomcat 的主頁,因爲我拷過來了。
    去 Apache 把/usr/local/apache2/htdocs/index.html 裏的內容改一下
    去 Tomcat1 和 Tomcat2 把/usr/local/tomcat/webapps/ROOT/index.jsp 裏的內容也簡單改成不同
    再訪問 http://192.168.1.20 會看到修改的內容
    再訪問 http://192.168.1.20/index.jsp 會訪問會調度到後臺的兩臺 tomcat
  2. 訪問 http://192.168.1.20/jk-status
  3. 訪問 http://192.168.1.20/jk-manager
  4. 在 Tomcat 上安裝 jsprun
    步驟省略

最後

[root@Tomcat1 ~]# scp -r /usr/local/tomcat/webapps/jsprun/ apache.com:/usr/local/apache2/htdocs/

再訪問
http://10.1.1.1/jsprun
會看到所有的文件都以列表形式顯示,因爲默認 Apache 訪問的主頁爲 index.html。所以 http://10.1.1.1/jsprun/index.jsp 訪問,就可以訪問 OK 了。

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