一、Tomcat簡介:
java
Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其餘一些公司及我的共同開發而成。Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬於輕量級應用服務器,在中小型系統和併發訪問用戶不是不少的場合下被廣泛使用,是開發和調試JSP 程序的首選。Tomcat和IIS等Web服務器同樣,具備處理HTML頁面的功能,另外它仍是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態HTML的能力不如Apache服務器。mysql
二、Tomcat-Server的組成部分:linux
1)、Server:一個表明着整個Catalina容器的服務器元素;
web
2)、Service:它由一個或者多個Connector組成,以及一個Engine,負責處理全部Connector所得到的客戶請求;sql
3)、Connector:一個Connector將在某個指定端口上偵聽客戶請求,並將得到的請求交給Engine來處理,從Engine處得到迴應並返回客戶。數據庫
TOMCAT有兩個典型的Connector:
Coyote Http/1.1 Connector 在端口8080處偵聽來自客戶browser的http請求;
Coyote JK2 Connector 在端口8009處偵聽來自其它WebServer(Apache)的servlet/jsp代理請求;apache
4)、Engine:Engine下能夠配置多個虛擬主機Virtual Host,每一個虛擬主機都有一個域名,當Engine得到一個請求時,它把該請求匹配到某個Host上,而後把該請求交給該Host來處理,Engine有一個默認虛擬主機,當請求沒法匹配到任何一個Host上的時候,將交給該默認Host來處理;bootstrap
5)、Host:表明一個Virtual Host,即虛擬主機,每一個虛擬主機和某個網絡域名Domain Name相匹配,每一個虛擬主機下均可以部署(deploy)一個或者多個Web App,每一個Web App對應於一個Context,有一個Context path,當Host得到一個請求時,將把該請求匹配到某個Context上,而後把該請求交給該Context來處理,匹配的方法是「最長匹配」,因此一個path==""的Context將成爲該Host的默認Context
全部沒法和其它Context的路徑名匹配的請求都將最終和該默認Context匹配;瀏覽器
6)、Context:一個Context對應於一個Web Application,一個Web Application由一個或者多個Servlet組成,Context在建立的時候將根據配置文件$CATALINA_HOME/conf/web.xmltomcat
$WEBAPP_HOME/WEB-INF/web.xml載入Servlet類,當Context得到請求時,將在本身的映射表(mapping table)中尋找相匹配的Servlet類,若是找到,則執行該類,得到請求的迴應,並返回。
三、實驗環境:
操做系統:CentOS-6.5-i386
軟件版本:jdk-7u45-linux-i586.rpm------Java的編譯環境
apache-tomcat-7.0.42.tar.gz----這裏使用tomcat的綠色軟件包
JavaCenter_Home_GBK.zip------基於jsp的論壇源代碼
四、實驗過程:
1)、安裝java的運行環境JDK:
[root@fcy ~]# yum localinstall jdk-7u45-linux-i586.rpm -y ----可使用這種方式自動解決依賴關係
2)、安裝完成後,查詢JDK的安裝目錄和bin目錄,將路徑添加到系統變量中:
編輯/etc/profile,添加路徑
配置完成後,查看Java環境的版本
[root@fcy ~]# java -version java version "1.7.0_45" Java(TM) SE Runtime Environment (build 1.7.0_45-b18) Java HotSpot(TM) Client VM (build 24.45-b08, mixed mode, sharing)
3)、拆解tomcat的源碼包至/usr/local/src/:
[root@fcy ~]# tar -zxvf apache-tomcat-7.0.42.tar.gz -C /usr/local/src/
進入/usr/local/src/下,將tomcat的源碼包移動到/usr/local/下,並重命名爲tomcat:
[root@fcy src]# pwd /usr/local/src [root@fcy src]# mv apache-tomcat-7.0.42/ /usr/local/tomcat
4)、Tomcat的工做目錄
/usr/local/tomcat
|---bin Tomcat:存放啓動和關閉tomcat腳本;
|---conf:存放不一樣的配置文件(server.xml和web.xml);
|---lib:存放Tomcat運行須要的庫文件(JARS);
|---logs:存放Tomcat執行時的LOG文件;
|---webapps:Tomcat的主要Web發佈目錄(包括應用程序示例);
|---work:存放jsp編譯後產生的class文件;
5)、進入/usr/local/tomcat/bin目錄下,執行啓動腳本,並查看端口:
[root@fcy bin]# ./catalina.sh start Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
訪問測試(主站點IP地址:192.168.47.100)
第一次執行時速度較慢,由於tomcat要將請求的頁面解釋爲Java語言,之後再請求該頁面,速度就會正常,經過查看能夠發現解釋後的.class文件
6)、進入/usr/local/conf目錄下,找到server.xml文件,該文件即爲tomcat的主配置文件:
打開配置文件,能夠看到tomcat有一個本地管理端口8005,只容許本地登陸,而且能夠執行SHUTDOWN指令關閉tomcat服務:
使用telnet登陸本地管理,執行SHUTDOWN並查看端口:
7)、建立虛擬目錄/test,實現tomcat的虛擬目錄訪問
在tets目錄下建立主頁index.jsp
啓動tomcat並訪問測試效果:
查看work目錄下,能夠發現虛擬目錄test
8)、建立物理目錄,實現tomcat的物理目錄訪問
[root@fcy tomcat]# mkdir /phy_test/ [root@fcy tomcat]# mv /usr/local/tomcat/webapps/test/ /phy_test/test
修改配置文件,指定物理目錄位置:
測試語法,並重啓tomcat:
訪問測試:
五、綜合應用-----JCenter論壇的搭建
從光盤安裝mysql
[root@fcy ~]# yum install mysql mysql-server -y
啓動mysql,並配置管理登陸密碼:
建立數據庫JCenter:
拆解JCenter的壓縮包,上傳目錄到tomcat的主站點下
[root@fcy ~]# unzip JavaCenter_Home_GBK.zip [root@fcy ~]# cd JavaCenter_Home_2.0_GBK/ [root@fcy JavaCenter_Home_2.0_GBK]# mv upload/ /usr/local/tomcat/webapps/jcenter
經過瀏覽器執行JCenter的安裝程序:
填寫數據庫及相關信息,開始安裝
安裝完成
進入後臺管理
--------JCenter安裝完成----------------