Tomcat簡介及作用:
創(chuàng)新互聯(lián)專注于米易網站建設服務及定制,我們擁有豐富的企業(yè)做網站經驗。 熱誠為您提供米易營銷型網站建設,米易網站制作、米易網頁設計、米易網站官網定制、微信小程序開發(fā)服務,打造米易網絡公司原創(chuàng)品牌,更為您提供米易網站排名全網營銷落地服務。Tomcat技術先進、性能穩(wěn)定,而且免費,因而深受Java愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比較流行的Web應用服務器。目前最新版本是8.0。
Tomcat服務器是一個免費的開放源代碼的Web應用服務器,屬于輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調試JSP程序的選擇。
Tomcat很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能;而且它還在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
Apache是一個強大的Web服務器在處理靜態(tài)頁面、處理大量網絡客戶請求、支持服務的種類以及可配置方面都有優(yōu)勢,高速并且強壯。但是沒有JSP/Servlet的解析能力。整合Apache和Tomcat可以看作是用Tomcat做Apache的jsp/servlet解析插件,將兩者優(yōu)勢結合起來。不過Tomcat作為一個Web服務器,本身具備了基本的Web服務功能,在SUN的力推下,將來或許越來越強壯到不需要借助Apache優(yōu)勢的地步。
Apache與tomcat的異同:
apache支持靜態(tài)頁,tomcat支持動態(tài)的,比如servlet等,
一般使用apache+tomcat的話,apache只是作為一個轉發(fā),對jsp的處理是由tomcat來處理的。
apache可以支持phpcgiperl,但是要使用java的話,你需要tomcat在apache后臺支撐,將java請求由apache轉發(fā)給tomcat處理。
apache是web服務器,Tomcat是應用(java)服務器,它只是一個servlet容器,可以認為是apache的擴展,但是可以獨立于apache運行。
Apache是專門用了提供HTTP服務的,以及相關配置的(例如虛擬主機、URL轉發(fā)等等)
Tomcat是Apache組織在符合J2EE的JSP、Servlet標準下開發(fā)的一個JSP服務器;
Apache與tomcat整合的好處:
如果客戶端請求的是靜態(tài)頁面,則只需要Apache服務器響應請求
如果客戶端請求動態(tài)頁面,則是Tomcat服務器響應請求
因為jsp是服務器端解釋代碼的,這樣整合就可以減少Tomcat的服務開銷
Apache只是一個WEB服務器,并不能運行JSP程序。如果要運行JSP程序,還需要安裝TOMCAT服務器軟件,通過連接器組件整合TOMCAT與APACHE。當用戶請求訪問.jsp網頁時,由APACHE自動調用TOMCAT服務進行解析,并將結果頁面返回到客戶端瀏覽器。
apache是web服務器,tomcat是應用(java)服務器,它只是一個servlet容器,可以認為是apache的擴展,但是可以獨立于apache運行。
一、搭建apache網站服務器
1、編譯安裝Apache:
先從Apache官方網站上下載Linux下的apache的安裝包,這里以http-2.3.8.tar.gz為例:
具體操作步驟如下:
整個實驗通過編譯方式安裝apache(需要先卸載apache的RPM軟件包):
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
1)將apache源碼包復制到RHEL6主機中并釋放apache源碼包:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
2)配置編譯選項(編譯時會報缺少APR的依賴錯誤):
[root@jsp~]#cd/usr/src/httpd-2.3.8/
[root@jsphttpd-2.3.8]#./configure--prefix=/usr/local/apache2--enable-so--enable-rewrite--enable-ssl--with-ssl=/usr/lib--enable-auth-digest--enable-cgi--with-suexec-caller=daemon--with-suexec-docroot=/usr/local/apache2/htdocs--with-apr=/opt/resource/apr-1.4.2--with-apr-util=/opt/resource/apr-util-1.3.10
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
解決方法:
下載apr-1.4.2.tar.gz和apr-util-1.3.10.tar.gz兩個文件,下載后,復制到/opt/resource/目錄。
(如果按正常思路,我是先解決這些問題然后直接編譯安裝apache,這樣會省去很多不必要的麻煩)
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
解壓apr-1.4.2.tar.gz和apr-util-1.3.10.tar.gz軟件包:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
按先后順序分別安裝apr和apr-util軟件:
安裝apr-1.4.2軟件:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
安裝apr-util軟件:
[root@jspapr-1.4.2]#cd../apr-util-1.3.10
[root@jspapr-util-1.3.10]#./configure--prefix=/opt/resource/apr-util-1.3.10--with-apr=/opt/resource/apr-1.4.2
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
到這里:安裝apache所需apr的環(huán)境安裝完畢。
重新執(zhí)行編譯apache的./configure時仍然報錯,錯誤信息如下:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
解決方法:通過YUM安裝關聯(lián)libpcre軟件包:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
重新執(zhí)行./configure命令完成配置編譯選項:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
3)編譯并安裝apache程序(編譯安裝過程貌似很長,期間可以喝杯咖啡哦,呵呵):
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
到此Apache的安裝完畢。
2、啟動、終止及重啟httpd服務
1)使用帶start選項的apachectl命令啟動httpd服務:
啟動報錯:
httpd:apr_sockaddr_info_get()failedforjsp
httpd:Couldnotreliablydeterminetheserver\'sfullyqualifieddomainname,using127.0.0.1forServerName
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
排錯思路:http://wenzhongxiang.blog.51cto.com/6370734/1285772;根據(jù)提示排除故障然后查看端口是否監(jiān)聽:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
2)為了使apache服務器的運行更加方便,可以為apachectl創(chuàng)建鏈接文件,以便管理員直接執(zhí)行apachectl命令就可以啟動apache服務。
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
3)設置服務器開機后自動啟動httpd服務:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
3、訪問apache網站服務器的默認測試頁:
在apache服務器上新建防火墻規(guī)則,允許http協(xié)議的數(shù)據(jù)包通過:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
在客戶機使用瀏覽器訪問WEB服務器:http://192.168.10.1:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
整個Apache服務器的安裝及調試到此完成。
二、安裝Tomcat:
1、安裝配置jdk開發(fā)環(huán)境:
1)安裝jdk軟件(安裝Tomcat的前提條件:先安裝jdk并配置好jdk)如下圖所示:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
(本實驗是在32位的RHEL6環(huán)境下搭建實驗環(huán)境,所以安裝的JDK是32位的)
為jdk的安裝目錄及執(zhí)行程序創(chuàng)建鏈接文件以方便使用:
注解:-f:選項表示ln命令替換在任何已存在的目的路徑。
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
修改/etc/profile文件,添加Java開發(fā)環(huán)境需要的變量設置。
JAVA_HOME=/usr/local/jdk6
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
exportJAVA_HOMECLASSPATHPATH
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
刷新配置:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
進行簡單的測試:
eg:查看安裝的jdk程序版本信息:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
eg:編寫一個java測試小程序,編譯并執(zhí)行:
[root@jsplocal]#vimwelcome.java
publicclasswelcome{
publicstaticvoidmain(Stringargs[]){
System.out.println("StayhungryStayfoolish");
}
}
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
執(zhí)行javac命令編譯程序,執(zhí)行java命令運行welcome.java程序,如下圖所示:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
測試成功!
1:安裝配置Tomcat:
1)安裝(Tomcat的安裝過程簡單,只需要將源碼包解壓至目的文件夾即可):
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
2)配置(為Tomcat的安裝目錄及啟動、關閉服務的腳本創(chuàng)建鏈接文件,以方便使用):
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
3)修改/etc/profile文件,設置Tomcat服務需要使用的變量CATALINA_HOME:
[root@jsp~]#vim/etc/profile
JAVA_HOME=/usr/local/jdk6
CATALINA_HOME=/usr/local/tomcat
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib/servlet-api.jar
PATH=$JAVA_HOME/bin:$PATH
exportJAVA_HOMECATALINA_HOMECLASSPATHPATH
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
4)修改tomcat-users.xml文件,添加管理員賬戶wen設置:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
5)進行測試:
啟動Tomcat服務,并確認Tomcat服務的監(jiān)聽狀態(tài):
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
設置Tomcat服務開機自啟動:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
訪問http://web服務器IP:8080,可以看到Tomcat的web首頁,如下:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
通過單擊“TomcatManager”鏈接登錄Tomcat并進行管理,如下:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
Tomcat目錄結構:
/bin:存放windows或Linux平臺上啟動和關閉Tomcat的腳本文件
/conf:存放Tomcat服務器的各種全局配置文件,其中最重要的是server.xml和web.xml
/doc:存放Tomcat文檔
/server:包含三個子目錄:classes、lib和webapps
/server/lib:存放Tomcat服務器所需的各種JAR文件
/server/webapps:存放Tomcat自帶的兩個WEB應用admin應用和manager應用
/common/lib:存放Tomcat服務器以及所有web應用都可以訪問的jar文件
/shared/lib:存放所有web應用都可以訪問的jar文件(但是不能被Tomcat服務器訪問)
/logs:存放Tomcat執(zhí)行時的日志文件
/src:存放Tomcat的源代碼
/webapps:Tomcat的主要Web發(fā)布目錄,默認情況下把Web應用文件放于此目錄
/work:存放JSP編譯后產生的class文件
如需停止Tomcat服務,可以執(zhí)行“shutdown.sh”腳本。
三、將Tomcat和Apache服務進行連接:
雖然Tomcat可以獨立作為WEB服務器,但是Tomcat的WEB功能遠沒有Apache強大,在實際應用中,可以通過mod_jk連接器將Apache和Tomcat整合在一起。調用Tomcat服務的工作由Apache來完成,而用戶只需要訪問Apache服務。
1)安裝mod_jk模塊:
釋放tomcat-connectors源碼包(mod_jk連接器源碼包)
編譯配置:到解壓后的native目錄進行安裝配置,指定apache目錄、tomcat目錄和JDK目錄位置。
[root@jspnative]#./configure--with-apxs=/usr/local/apache2/bin/apxs--with-tomcat=/usr/local/tomcat--with-java-home=/usr/local/jdk6--with-jni
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
配置正確完成后,進行編譯make,指定生成文件位置并makeinstall:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
編譯安裝結束后在/usr/local/apache2/modules目錄生成了一個mod_jk.so文件,這就是轉發(fā)模塊。
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
2)調整Apache服務、Tomcat服務的相關配置,并重啟tomcat、apache服務。
切換到tomcat-connectors解壓目錄下的conf子目錄下,將相關文件拷貝到apache的相關目錄下,如圖所示:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
修改httpd.conf文件,在httpd.conf文件中添加如下內容:
[root@jsp~]#vim/usr/local/apache2/conf/httpd.conf
Includeconf/extra/httpd-jk.conf
AddTypeapplication/x-httpd-jsp.jsp
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
修改/usr/local/apache2/conf/extra/httpd-jk.conf文件,修改后內容如下:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
截圖所列內容默認存在,而39、40行需用戶自己手工添加。
修改workers.properties文件(workers.properties是轉發(fā)模塊的工作單,用來定義轉發(fā)主機和監(jiān)聽端口等內容。)
修改后的內容如下:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
注解:紅線標注處需要修改,標號處用“#”號注解:
將tomcat主目錄修改成和apache網站文檔目錄一致:
由于tomcat默認的主目錄是/usr/local/tomcat/webapps/ROOT/,因此應編輯tomcat的主配置文件/usr/local/tomcat/conf/server.xml文件,找到如下語句。
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
3)重啟apache和tomcat服務:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
4)進行測試:
eg:創(chuàng)建一個顯示系統(tǒng)時間的JSP測試頁:
[root@jsp~]#cd/usr/local/apache2/htdocs/
[root@jsphtdocs]#vimwelcome.jsp
StayhungryStayfoolish!!!
Nowthetimeis:
截圖內容如下:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
通過瀏覽器訪問welcome.jsp測試頁,訪問效果如下:
Apache與Tomcat的整合詳解(Linux) - 呼吸了哦 - 呼吸的博客
Apache和tomcat整合實驗到此結束(這里我們所要了解的最基本的概念就是我們在使用apache和tomcat時存在的差異在哪里,他們整合在一起的優(yōu)點又有哪些,這是關鍵)。