
1,安裝jdk
[root@web1 ~]# yum -y install ?java-1.8.0-openjdk ???????????????//安裝JDK
[root@web1 ~]# yum -y install java-1.8.0-openjdk-headless ???????//安裝JDK
[root@web1 ~]# java -version ???????????????????????????????????//查看JAVA版
2,安裝tomcat
[root@web1 ~]#?wget??http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.42/bin/apache-tomcat-8.5.42.tar.gz
[root@web1 ~]# tar -xf ?apache-tomcat-8.5.42.tar.gz
[root@web1 ~]# mv apache-tomcat-8.5.42? /usr/local/tomcat
[root@web1 ~]# ls /usr/local/tomcat
bin/ ???????????????????????????????????????????//主程序目錄
lib/ ???????????????????????????????????????????//庫文件目錄
logs/ ?????????????????????????????????????????//日志目錄 ?
temp/ ????????????????????????????????????????//臨時目錄
work/ ???????????????????????????????????????//自動編譯目錄jsp代碼轉(zhuǎn)換servlet
conf/ ???????????????????????????????????????//配置文件目錄
webapps/ ???????????????????????????????????????//頁面目錄
[root@web1 ~]# /usr/local/tomcat/bin/startup.sh
[root@web1 ~]# firewall-cmd --set-default-zone=trusted
[root@web1 ~]# setenforce 0
[root@web1 ~]# netstat -nutlp |grep java ???????//查看java監(jiān)聽的端口
tcp ???????0 ?????0 :::8080 ?????????????:::* ???????????????LISTEN ?????2778/java ??????????
tcp ???????0 ?????0 ::ffff:127.0.0.1:8005 ????:::* ????????LISTEN ??????2778/java ?
提示:如果檢查端口時,8005端口啟動非常慢,可用使用下面的命令用urandom替換random(非必須操作)。
[root@web1 ~]# mv /dev/random ?/dev/random.bak
[root@web1 ~]# ln -s /dev/urandom ?/dev/random
##客戶端瀏覽測試頁面
[root@client ~]#?curl?http://192.168.2.100:8080
或者瀏覽器輸入地址http://192.168.2.100:8080即可驗證
3,配置虛擬主機
1)修改server.xml配置文件,創(chuàng)建虛擬主機
[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml
… …
<Host name="www.a.com" appBase="a" unpackWARS="true" autoDeploy="true">
</Host>
<Host name="www.b.com" appBase="b" unpackWARS="true" autoDeploy="true">
</Host>
2)創(chuàng)建虛擬主機對應的頁面根路徑
[root@web1 ~]# mkdir -p ?/usr/local/tomcat/{a,b}/ROOT
[root@web1 ~]# echo "AAA" ??> /usr/local/tomcat/a/ROOT/index.html
[root@web1 ~]# echo "BBB" > /usr/local/tomcat/b/ROOT/index.html
3)重啟Tomcat服務器
[root@web1 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@web1 ~]# /usr/local/tomcat/bin/startup.sh
4)客戶端設置host文件,并瀏覽測試頁面進行測試(proxy充當客戶端角色)
注意:ssh遠程連接時使用使用-X參數(shù)才可以?。?!
[root@proxy ~]# vim /etc/hosts
… …
192.168.2.100 ?????www.a.com ?www.b.com
[root@proxy ~]#?curl http://www.a.com:8080/ ???????//注意訪問的端口為8080
AAA
[root@proxy ~]# curl?http://www.b.com:8080/
BBB
4,修改www.b.com網(wǎng)站的首頁目錄為base
1)使用docBase參數(shù)可以修改默認網(wǎng)站首頁路徑
[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml
… …
<Host name="www.a.com" appBase="a" unpackWARS="true" autoDeploy="true">
</Host>
<Host name="www.b.com" appBase="b" unpackWARS="true" autoDeploy="true">
???#決定網(wǎng)站的根目錄,默認ROOT
</Host>
… …
[root@web1 ~]# mkdir ?/usr/local/tomcat/b/base
[root@web1 ~]# echo "BASE" > /usr/local/tomcat/b/base/index.html
[root@web1 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@web1 ~]# /usr/local/tomcat/bin/startup.sh
提示:
reloadable:如果這個屬性設為true,tomcat服務器在運行狀態(tài)下會監(jiān)視在WEB-INF/classes和WEB-INF/lib目錄下class文件的改動,如果監(jiān)測到有class文件被更新的,服務器會自動重新加載Web應用。在開發(fā)階段將reloadable屬性設為true,有助于調(diào)試servlet和其它的class文件,但這樣用加重服務器運行負荷,建議在Web應用的發(fā)存階段將reloadable設為false。
2)測試查看頁面是否正確(proxy充當客戶端角色)
[root@proxy ~]# firefox http://www.b.com:8080/ ???????//結(jié)果為base目錄下的頁面內(nèi)容
BASE
5,tomcat跳轉(zhuǎn)
1)當用戶訪問http://www.a.com/test打開/var/www/html目錄下的頁面
[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml
… …
<Host name="www.a.com" appBase="a" unpackWARS="true" autoDeploy="true">
<Context path="/test" docBase="/var/www/html/" />
</Host>
<Host name="www.b.com" appBase="b" unpackWARS="true" autoDeploy="true">
<Context path="" docBase="base" />
</Host>
… …
[root@web1 ~]# echo "Test" > /var/www/html/index.html
[root@web1 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@web1 ~]# /usr/local/tomcat/bin/startup.sh
2)測試查看頁面是否正確(proxy充當客戶端角色)
[root@proxy ~]#?curl http://www.a.com:8080/test ???
Test
//返回/var/www/html/index.html的內(nèi)容
//注意,訪問的端口為8080
6,配置Tomcat支持SSL加密網(wǎng)站
[root@web1 jluo]# keytool --help
-certreq生成證書請求
-changealias更改條目的別名
-delete刪除條目
-exportcert導出證書
-genkeypair生成密鑰對
-genseckey生成密鑰
-gencert根據(jù)證書請求生成證書
-importcert導入證書或證書鏈
-importpass導入口令
-importkeystore從其他密鑰庫導入一個或所有條目
-keypasswd更改條目的密鑰口令
-list列出密鑰庫中的條目
-printcert打印證書內(nèi)容
-printcertreq打印證書請求的內(nèi)容
-printcrl打印 CRL 文件的內(nèi)容
-storepasswd更改密鑰庫的存儲口令
[root@web1 jluo]# keytool -genkeypair -help
-alias 要處理的條目的別名
-keyalg 密鑰算法名稱
-keysize 密鑰位大小
-sigalg 簽名算法名稱
-destalias 目標別名
-dname 唯一判別名
-startdate 證書有效期開始日期/時間
-ext ???????????????????X.509擴展
-validity 有效天數(shù)
-keypass 密鑰口令
-keystore 密鑰庫名稱
-storepass 密鑰庫口令
-storetype 密鑰庫類型
-providername 提供方名稱
-providerclass 提供方類名
-providerarg 提供方參數(shù)
-providerpath 提供方類路徑
-v詳細輸出
-protected通過受保護的機制的口令
1)創(chuàng)建加密用的私鑰和證書文件
[root@web1 ~]# keytool -genkeypair -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/keystore ???????????????//提示輸入密碼為:123456
//-genkeypair生成密鑰對
//-alias tomcat密鑰別名
//-keyalg RSA定義密鑰算法為RSA算法
//-keystore定義密鑰文件存儲在:/usr/local/tomcat/keystore
2)再次修改server.xml配置文件,創(chuàng)建支持加密連接的Connector
[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml
… …
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="/usr/local/tomcat/keystore" keystorePass="123456" clientAuth="false" sslProtocol="TLS" />
//備注,默認這段Connector被注釋掉了,打開注釋,添加密鑰信息即可
keystoreFile=”密鑰絕對路徑” keystorePass=”密鑰密碼”
3)重啟Tomcat服務器
[root@web1 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@web1 ~]# /usr/local/tomcat/bin/startup.sh
4)客戶端設置host文件,并瀏覽測試頁面進行測試(proxy充當客戶端角色)
[root@proxy ~]# vim /etc/hosts
… …
192.168.2.100 ?????www.a.com ?www.b.com
[root@proxy ~]#?curl https://www.a.com:8443/
[root@proxy ~]# curl? https://www.b.com:8443/
[root@proxy ~]# curl?https://192.168.2.100:8443/
7,配置Tomcat日志
1)為每個虛擬主機設置不同的日志文件
[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml
.. ..
<Host name="www.a.com" appBase="a" unpackWARS="true" autoDeploy="true">
<Context path="/test" docBase="/var/www/html/" />
#從默認localhost虛擬主機中把Valve這段復制過來,適當修改下即可
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" ?。H罩敬娣拍夸?/p>
???????????????prefix=" a_access" suffix=".txt" ?。N募瑪U展名
???????????????pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="www.b.com" appBase="b" unpackWARS="true" autoDeploy="true">
<Context path="" docBase="base" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
???????????????prefix=" b_access" suffix=".txt"
???????????????pattern="%h %l %u %t "%r" %s %b" />
</Host>
.. ..
2)重啟Tomcat服務器
[root@web1 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@web1 ~]# /usr/local/tomcat/bin/startup.sh
3)查看服務器日志文件
[root@web1 ~]# ls /usr/local/tomcat/logs/
結(jié)束語:
更多精彩內(nèi)容持續(xù)更新中,關(guān)注我,有你更精彩。
