Tomcat安裝與配置(linux版)

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)注我,有你更精彩。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容