整合apache和tomcat構建Web服務器

Tomcat簡介及作用:

Tomcat 技術先進、性能穩定,而且免費,因而深受Java 愛好者的喜愛並得到了部分軟件開發商的認可,成爲目前比較流行的Web 應用服務器。目前最新版本是8.0

Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬於輕量級應用服務器,在中小型系統和併發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP 程序的首選。

Tomcat 很受廣大程序員的喜歡,因爲它運行時佔用的系統資源小,擴展性好,支持負載平衡與郵件服務等開發應用系統常用的功能;而且它還在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。

174040144.png

Apache是一個強大的Web服務器在處理靜態頁面、處理大量網絡客戶請求、支持服務的種類以及可配置方面都有優勢,高速並且強壯。但是沒有JSP/Servlet的解析能力。整合ApacheTomcat可以看作是用TomcatApachejsp/servlet解析插件,將兩者優勢結合起來。不過Tomcat作爲一個Web服務器,本身具備了基本的Web服務功能,在SUN的力推下,將來或許越來越強壯到不需要藉助Apache優勢的地步。

Apachetomcat的異同:

  • apache支持靜態頁,tomcat支持動態的,比如servlet等,

  • 一般使用apache+tomcat的話,apache只是作爲一個轉發,對jsp的處理是由tomcat來處理的。

  • apache可以支持php\cgi\perl,但是要使用java的話,你需要tomcatapache後臺支撐,將java請求由apache轉發給tomcat處理。

  • apacheweb服務器,Tomcat是應用(java)服務器,它只是一個servlet(jsp也翻譯成servlet)容器,可以認爲是apache的擴展,但是可以獨立於apache運行。

  • Apache是專門用了提供HTTP服務的,以及相關配置的(例如虛擬主機、URL轉發等等)

  • TomcatApache組織在符合J2EEJSPServlet標準下開發的一個JSP服務器;

Apachetomcat整合的好處

  • 如果客戶端請求的是靜態頁面,則只需要Apache服務器響應請求

  • 如果客戶端請求動態頁面,則是Tomcat服務器響應請求

  • 因爲jsp是服務器端解釋代碼的,這樣整合就可以減少Tomcat的服務開銷

Apache只是一個WEB服務器,並不能運行JSP程序。如果要運行JSP程序,還需要安裝TOMCAT服務器軟件,通過連接器組件整合TOMCATAPACHE。當用戶請求訪問.jsp網頁時,由APACHE自動調用TOMCAT服務進行解析,並將結果頁面返回到客戶端瀏覽器。

apacheweb服務器,tomcat是應用(java)服務器,它只是一個servlet(jsp也翻譯成servlet)容器,可以認爲是apache的擴展,但是可以獨立於apache運行。

一、搭建apache網站服務器

1、編譯安裝Apache

先從Apache官方網站上下載Linux下的apache的安裝包,這裏以http-2.3.8.tar.gz爲例:

具體操作步驟如下:

整個實驗通過編譯方式安裝apache(需要先卸載apacheRPM軟件包):

174040977.png

1)將apache源碼包複製到RHEL6主機中並釋放apache源碼包:

174040368.png

2)配置編譯選項(編譯時會報缺少APR的依賴錯誤):

[root@jsp ~]# cd /usr/src/httpd-2.3.8/

[[email protected]]# ./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

174040870.png

解決方法:

下載apr-1.4.2.tar.gzapr-util-1.3.10.tar.gz兩個文件,下載後,複製到/opt/resource/目錄。

(如果按正常思路,我是先解決這些問題然後直接編譯安裝apache,這樣會省去很多不必要的麻煩)

174102765.png

解壓apr-1.4.2.tar.gz和apr-util-1.3.10.tar.gz軟件包:

174103930.png

按先後順序分別安裝aprapr-util軟件:

安裝apr-1.4.2軟件:

174103890.png

174103773.png

安裝apr-util軟件:

[root@jsp apr-1.4.2]# cd  ../apr-util-1.3.10

[[email protected]]#./configure --prefix=/opt/resource/apr-util-1.3.10--with-apr=/opt/resource/apr-1.4.2

174118701.png

174118312.png

到這裏:安裝apache所需apr的環境安裝完畢。

重新執行編譯apache的./configure時仍然報錯,錯誤信息如下:

174118255.png

解決方法:通過YUM安裝關聯libpcre軟件包:

174118964.png

重新執行./configure命令完成配置編譯選項:

174133289.png

3)編譯並安裝apache程序(編譯安裝過程貌似很長,期間可以喝杯咖啡哦,呵呵):

174133853.png

到此Apache的安裝完畢。

2、啓動、終止及重啓httpd服務

1)使用帶start選項的apachectl命令啓動httpd服務:

啓動報錯:

httpd: apr_sockaddr_info_get() failed for jsp

httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

174134972.png

排錯思路:http://wenzhongxiang.blog.51cto.com/6370734/1285772;根據提示排除故障然後查看端口是否監聽:

174208422.png

2)爲了使apache服務器的運行更加方便,可以爲apachectl創建鏈接文件,以便管理員直接執行apachectl命令就可以啓動apache服務。

174209777.png

3)設置服務器開機後自動啓動httpd服務:

174209642.png

3、訪問apache網站服務器的默認測試頁:

apache服務器上新建防火牆規則,允許http協議的數據包通過:

174209483.png

在客戶機使用瀏覽器訪問WEB服務器:http://192.168.10.1

174233778.png

整個Apache服務器的安裝及調試到此完成。

http://www.bjdcxr.com 

二、安裝Tomcat

1、安裝配置jdk開發環境:

1)安裝jdk軟件(安裝Tomcat的前提條件:先安裝jdk並配置好jdk)如下圖所示:

174233406.png

(本實驗是在32位的RHEL6環境下搭建實驗環境,所以安裝的JDK32位的)

jdk的安裝目錄及執行程序創建鏈接文件以方便使用:

註解:-f:選項表示ln命令替換在任何已存在的目的路徑。

174233390.png

修改/etc/profile文件,添加Java開發環境需要的變量設置。

JAVA_HOME=/usr/local/jdk6

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

174233805.png

刷新配置:

174252539.png

進行簡單的測試:

eg:查看安裝的jdk程序版本信息:

174252199.png

eg:編寫一個java測試小程序,編譯並執行:

[root@jsp local]# vim welcome.java

  public class welcome {

    public static void main(String args[]) {

    System.out.println("Stay hungry Stay foolish");

   }

}

174253435.png

執行javac 命令編譯程序,執行java 命令運行welcome.java程序,如下圖所示:

174253821.png

測試成功!

1:安裝配置Tomcat

1)安裝(Tomcat的安裝過程簡單,只需要將源碼包解壓至目的文件夾即可):

174314990.png

2)配置(爲Tomcat的安裝目錄及啓動、關閉服務的腳本創建鏈接文件,以方便使用):

174314215.png

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

export JAVA_HOME CATALINA_HOME CLASSPATH PATH

174314675.png

174314784.png

4)修改tomcat-users.xml文件,添加管理員賬戶wen設置:

174341426.png

5)進行測試:

啓動Tomcat服務,並確認Tomcat服務的監聽狀態:

174341760.png

設置Tomcat服務開機自啓動:

174342859.png

訪問http://web服務器IP:8080,可以看到Tomcatweb首頁,如下:

174343988.png

通過單擊“Tomcat Manager”鏈接登錄Tomcat並進行管理,如下:

174407678.png

174409205.png

174411940.png

174414201.png

174453767.png

Tomcat目錄結構:

  • /bin:存放windowsLinux平臺上啓動和關閉Tomcat的腳本文件

  • /conf:存放Tomcat服務器的各種全局配置文件,其中最重要的是server.xmlweb.xml

  • /doc:存放Tomcat文檔

  • /server:包含三個子目錄:classeslibwebapps

  • /server/lib:存放Tomcat服務器所需的各種JAR文件

  • /server/webapps:存放Tomcat自帶的兩個WEB應用admin應用和 manager應用

  • /common/lib:存放Tomcat服務器以及所有web應用都可以訪問的jar文件

  • /shared/lib:存放所有web應用都可以訪問的jar文件(但是不能被Tomcat服務器訪問)

  • /logs:存放Tomcat執行時的日誌文件

  • /src:存放Tomcat的源代碼

  • /webappsTomcat的主要Web發佈目錄,默認情況下把Web應用文件放於此目錄

  • /work:存放JSP編譯後產生的class文件

如需停止Tomcat服務,可以執行“shutdown.sh”腳本

三、將TomcatApache服務進行連接:

雖然Tomcat可以獨立作爲WEB服務器,但是TomcatWEB功能遠沒有Apache強大,在實際應用中,可以通過mod_jk連接器將ApacheTomcat整合在一起。調用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

174454981.png

配置正確完成後,進行編譯make指定生成文件位置make install

174454481.png

編譯安裝結束後在/usr/local/apache2/modules目錄生成了一個mod_jk.so文件,這就是轉發模塊

174454302.png

2)調整Apache服務、Tomcat服務的相關配置,並重啓tomcatapache服務。

切換到tomcat-connectors解壓目錄下的 conf子目錄下,將相關文件拷貝到apache的相關目錄下,如圖所示:

174515146.png

修改httpd.conf文件,在httpd.conf文件中添加如下內容:

[root@jsp ~]# vim /usr/local/apache2/conf/httpd.conf

Include conf/extra/httpd-jk.conf

AddType application/x-httpd-jsp.jsp

174515917.png

修改/usr/local/apache2/conf/extra/httpd-jk.conf文件,修改後內容如下:

174515250.png

截圖所列內容默認存在,而3940行需用戶自己手工添加。

修改workers.properties文件(workers.properties 是轉發模塊的工作單,用來定義轉發主機和監聽端口等內容。)

修改後的內容如下:

174515796.png

註解:紅線標註處需要修改,標號處用“#”號註解:

tomcat主目錄修改成和apache網站文檔目錄一致:

由於tomcat默認的主目錄是/usr/local/tomcat/webapps/ROOT/因此應編輯tomcat的主配置文件/usr/local/tomcat/conf/server.xml文件,找到如下語句。

174538541.png

3)重啓apachetomcat服務:

174544643.png

4)進行測試:

eg:創建一個顯示系統時間的JSP測試頁:

[root@jsp ~]# cd /usr/local/apache2/htdocs/

[root@jsp htdocs]# vim welcome.jsp

<%@page language="java" import="java.util.*" %>

Stay hungry Stay foolish !!!

Now the time is: <%out.println(new Date());%>

截圖內容如下:

174544329.png

通過瀏覽器訪問welcome.jsp測試頁,訪問效果如下:

174544454.png

Apachetomcat整合實驗到此結束(這裏我們所要了解的最基本的概念就是我們在使用apache和tomcat時存在的最大差異在哪裏,他們整合在一起的優點又有哪些,這是關鍵)。

供大家學習,共同進步!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章