這一D,跨越了幾個月啊,人是越來越懶,集中寫一些,就懶得再記錄了。也是因為測試需要,搭建個jsp的服務環境,只是測試,考慮用tomcat就夠了。
在Tomcat官網下載最新Core版本,下載之后,將文件解壓縮在/usr/local/tomcat8.0.21。前提是要安裝了JDK。
1、創建系統變量
修改/etc/profile,添加:
CATALINA_HOME='/usr/local/tomcat8.0.21' CATALINA_BASE=$CATALINA_HOME PATH=$PATH:$CATALINA_HOME/bin export CATALINA_HOME CATALINA_BASE PATH
2、虛擬主機,和應用程序配置
可以直接修改$CATALINA_HOME/conf/server.xml文件,在里面進行修改,修改內容主要在Service節點的子節點Engine節點下,一個典型的配置如下:
1 <Host name="domain" appBase="網站目錄" />
“domain”為網站域名;“網站目錄”可以是 $CATALINA_HOME 下的子目錄,也可以是系統絕對路徑,例如:/data/web/demo。
但是此時在此目錄下創建index.jsp時,你會發現並無法訪問。這是因為Tomcat的應用管理邏輯,有如下兩個方案可以嘗試操作:
1) 創建網站默認的應用
<Host name="domain" appBase="網站目錄"> <Context path="/|" docBase="網站目錄" /> </Host>
Context節點創建了一個子應用,path為路徑,可為空或者/,都表示"domain"下的根應用;"網站目錄"同於Host配置。
2)將文件存儲在ROOT子目錄中
ROOT是Host默認的子應用,可以在Host節點中,appBase屬性指定的目錄下面,創建ROOT目錄用於存放文件。
3、啟動
配置完成后,可以使用bin目錄下的configtest.sh來測試配置文件,startup.sh啟動服務,shutdown.sh關閉服務。
啟動之后,即可使用http://domain:8080/的方式來訪問網站。
4、安全管理
Tomcat自帶一個管理工具,可以管理Host和Context,可以通過http://localhost:8080/訪問管理首頁。如下圖:
可以看到右上方,有幾個管理入口,此時管理時匿名的,只要進入就可以操作,這是不安全的行為,此時要修改$CATALINA_HOME/conf/tomcat-users.xml文件,修改其中的role和user配置字節,例如:
<role rolename="admin" /> <role rolename="admin-gui" /> <role rolename="admin-script" /> <role rolename="manager-gui" /> <role rolename="manager-script" /> <role rolename="manager-jmx" /> <role rolename="manager-status" /> <user username="gary" password="123456" roles="admin,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />
role字節,表示啟用哪些Tomcat默認的管理角色,User字節,創建了管理人員信息,同時賦予對應的角色功能。
5、擴展操作
Tomcat自帶的管理工具還是不錯的,可以管理Host、App,那么,是否可將管理工具用於每一個虛擬子站中?當然是可以的!!!
方法就是利用官方的管理工具創建Host,如圖:
意義同於server.xml里的配置項,只是Manager App務必要勾選上,點擊Add之后,會在$CATALINA_HOME/conf/Catalina下生成同name的目錄,里面就包含一個manager.xml文件。
然后,按照之前的虛擬主機配置方法,修改server.xml添加主機之后,即可使用:http://domain:8080/manager管理該主機了。
注意:
1). 在點擊了“Add”之后,會發現在上方的"List Host"列表中出現了新添加的主機,但是在Tomcat重啟后,會無效,這應該是因為Tomcat運行權限的問題,無法寫入Tomcat配置文件,這個問題以后再考慮研究一下;
2). 虛擬主機中配置好的管理應用,不會有過多的管理項,只有對Contex的管理。