CentOS 6.2Web系統集成之Apache與Tomcat集成

之 前有寫過LAMP平臺的搭建,包括後面LAMP平臺的集成(但是由於我發佈的文章娛樂性太少,居然被人惡指我的文章是轉載的,對此我表示很無奈,本身寫博 客也只是記錄和幫助到需要的人,所以後面我仍會保持這樣的風格去發佈我自己的博文),本文進一步介紹Apache服務器與Tomcat的集成,以便支持 JSP。都知道的是Apache支持靜態頁面,Tomcat支持動態頁面,我們可以使用Apache+Tomcat的方式把它們的優勢結合起來,強強聯 合,Apache負責轉發,對Jsp的處理交給Tomcat來處理。也就是說Apache專門提供HTTP服務,以及相關配置(例如虛擬主機,URL轉發 等),而Tomcat是Apache組織在服務J2EE的JSP、Servlet標準下開發的一個JSP服務器。既然Apache和Tomcat都是 Web服務器,怎麼不直接使用Tomcat服務器,反而去和Apache集成,我們知道Tomcat支持Servlet和JSP,本身是可以作爲Web Server,但是、當處理大量靜態頁面時,Tomacat不如Apache性能好,不如Apache那樣強壯。但是Apache作爲最流行的Web服務 器雖然能夠高效的處理靜態頁面,但並不支持JSP及Servlet,所以現在常用的做法是將它們合二爲一,讓Apache處理靜態頁面,而把動態頁面的請 求交給Tomcat處理,發揮各自的優勢。通過在Apache中加載整合模塊和進行設置,Apache就能夠根據URL,把不屬於自己的請求轉給 Tomcat。
要讓Apache和Tomcat聯合工作,還需要一個連接器把它們聯繫起來。Connector對於性能、配置的方便性有很重要的影響,目前大致有JK1.x、JK2、mod_webapp三種,JK使用比較廣泛。
Tomcat 與 Apache 集成的準備工作注:本環境是在Apache編譯完成後繼續的
JDK安裝與測試(在tomcat運行環境下,JDK是必不可少的軟件,因爲tomcat只是一個Servlet/JSP容器,底層的操作都需要JDK來完成)
[root@chenyi software]# chmod a+x jdk-6u7-linux-i586.bin 
[root@chenyi software]# ./jdk-6u7-linux-i586.bin
環境變量設置(Tomcat在啓動的時候會去查找jdk的安裝路徑)
[root@chenyi software]# vi /etc/profile.d/java.sh
   export JAVA_HOME=/software/jdk1.6.0_07
   export JRE_HOME=$JAVA_HOME/jre
   export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
   export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
[root@chenyi software]# chmod 755 /etc/profile.d/java.sh 
[root@chenyi software]# . /etc/profile
 可以測試下java是否正常工作
[root@chenyi software]# java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)
測試JAVA程序
[root@chenyi software]# vi test.java
public class test {
    public static void main(String args[]) {
        System.out.println("Hello World!");
    }
}
[root@chenyi software]# javac test.java 
[root@chenyi software]# java test
Hello World!
安裝Tomcat(Tomcat的安裝只需要解壓,改名移到合適的地方即可完成安裝)
[root@chenyi lamp]# tar zxf apache-tomcat-6.0.14.tar.gz
[root@chenyi lamp]# mv apache-tomcat-6.0.14 /software/tomcat
編譯生成mod_jk。(這裏是爲了更靈活的使用mod_jk連接器,所以採用源碼方式編譯出所需要的JK模塊(在編譯時需要指定apache的apxs的路徑))
[root@chenyi lamp]# tar zxf jakarta-tomcat-connectors-1.2.15-src.tar.gz 
[root@chenyi lamp]# cd jakarta-tomcat-connectors-1.2.15-src
[root@chenyi jakarta-tomcat-connectors-1.2.15-src]# ./configure --with-apxs=/software/apache2/bin/apxs && make && make install
[root@chenyi native]# ls /software/apache2/modules/mod_jk.so 
/software/apache2/modules/mod_jk.so
新建mod_jk.conf(注意我所在的路徑)
[root@chenyi httpd]# vi mod_jk.conf 
loadModule jk_module "/software/apache2/modules/mod_jk.so"     #指定mod_jk.so
JkWorkersFile "/etc/httpd/workers.properties"           #JK連接器屬性的設定
JkLogFile "/software/tomcat/logs/mod_jk.log"
JkLogLevel emerg
ServerName localhost
Jkmount /*.jsp ajp13
新建workers.properties
workers.tomcat_home=/software/tomcat
workers.java_home=/software/jdk1.6.0_07
ps=/
workers.list=ajp13                  #worker.list用來定義Workers列表,當apache啓動時,workers.properties作爲插件將初始化出現在worker.list列表中的workers。
workers.ajp13.port=8009                #tomcat worker主機監聽的端口。默認情況下tomcat在ajp13協議中使用的端口爲8009
workers.ajp13.host=127.0.0.1           #監聽ajp13請求的的tomcat worker主機地址
workers.ajp13.type=ajp13              #定義一個名爲“ajp13”的worker,其使用ajp13協議與tomcat 進程通訊
workers.ajp13.lbfactor=1              #當tomcat用作負載均衡時,此屬性被使用,表示此tomcat worker節點的負載均衡權值。
配置Apache
[root@chenyi httpd]#vi httpd.conf
添加如下語句
Include /etc/httpd/mod_jk.conf
 保存退出後重啓Apache和Tomcat
[root@chenyi ~]# /software/apache2/bin/apachectl stop
[root@chenyi ~]# /software/apache2/bin/apachectl start
[root@chenyi ~]# /software/tomcat/bin/shutdown.sh 
Using CATALINA_BASE:   /software/tomcat
Using CATALINA_HOME:   /software/tomcat
Using CATALINA_TMPDIR: /software/tomcat/temp
Using JRE_HOME:       /software/jdk1.6.0_07/jre
[root@chenyi ~]# /software/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /software/tomcat
Using CATALINA_HOME:   /software/tomcat
Using CATALINA_TMPDIR: /software/tomcat/temp
Using JRE_HOME:       /software/jdk1.6.0_07/jre
 通過netstat查看相關服務狀態
[root@chenyi ~]# netstat -pant | grep 80
tcp        0      0 127.0.0.1:42442             127.0.0.1:8009              TIME_WAIT   -                   
tcp        0      0 127.0.0.1:42441             127.0.0.1:8009              TIME_WAIT   -                   
tcp        0      0 127.0.0.1:42438             127.0.0.1:8009              TIME_WAIT   -                   
tcp        0      0 127.0.0.1:42439             127.0.0.1:8009              TIME_WAIT   -                   
tcp        0      0 127.0.0.1:42446             127.0.0.1:8009              TIME_WAIT   -                   
tcp        0      0 127.0.0.1:42440             127.0.0.1:8009              TIME_WAIT   -                   
tcp        0      0 127.0.0.1:42437             127.0.0.1:8009              TIME_WAIT   -                   
tcp        0      0 127.0.0.1:42443             127.0.0.1:8009              TIME_WAIT   -                   
tcp        0      0 127.0.0.1:42445             127.0.0.1:8009              TIME_WAIT   -                   
tcp        0      0 :::8080                     :::*                        LISTEN      4434/java           
tcp        0      0 :::80                       :::*                        LISTEN      4399/httpd          
tcp        0      0 ::ffff:127.0.0.1:8005       :::*                        LISTEN      4434/java           
tcp        0      0 :::8009                     :::*                        LISTEN      4434/java           
tcp        0      0 ::ffff:127.0.0.1:58570      ::ffff:127.0.0.1:8005       TIME_WAIT   -                   
tcp        0      0 ::ffff:127.0.0.1:43053      ::ffff:127.0.0.1:8080       TIME_WAIT   -
 通過http://IP:8080訪問進行測試

設置Tomcat的登錄密碼
[root@chenyi ~]# vi /software/tomcat/conf/tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="itchenyi" password="123456" roles="manager,admin"/>	#新添加的
</tomcat-users>
寫一個簡單的jsp頁面進行測試
[root@chenyi ~]# vi /software/tomcat/webapps/ROOT/test.jsp
<%@ page language="java" %>
<%@ page import="java.util.*" %>
<html>
  <head>
    <title>JSP test page.</title>
  </head>
  <body>
    <% out.println("Integration of Apache and Tomcat Web system integration"); %>
  </body>
</html>
訪問
tomcatjsp測試

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