Apache+tomcat的整合

實驗環境:centos6.4-i386

有用軟件:http://pan.baidu.com/s/1bn1m2UN

網絡拓撲:

wKioL1MJ8wzCtpFzAACUYddMd_I227.jpg

IP地址規劃

    Httpd服務器:192.168.29.20

        Tomcat服務器:192.168.29.30

Apache+Tomcat整合的好處:

1.Apache主要用來解析靜態文本,htmltomcat雖然也有此功能,但apache能大大提高效率,對於併發數較大的企業級應用,能更好的顯示apache的高效率;

2.Tomcat用來解析jsp,servlet,所有的客戶請求首先會發送到Apache,如果請求是靜態文本則由apache解析,並把結果返回給客戶端,如果是動態的請求,如jspapache會把解析工作交給tomcat,由tomcat進行解析(這首先要兩者現實整合),tomcat解析完成後,結果仍是通過apache返回給客戶端,這樣就可以達到分工合作,實現負載均衡,提高系統的性能!而且因爲JSP是服務器端解釋代碼的,這樣整合可以減少Tomcat的服務開銷。

Apache+Tomcat整合的原理

作爲Apache下面的子項目,Tomcat Apache之間有着天然的聯繫。在實際操作中,主要是Apache作爲主服務器運行,當監聽到有jsp或者servlet的請求時,將請求轉發給tomcat服務器,由tomcat服務器進行解析後,發回apache,再由apache發回用戶。

tomcat中有兩個監聽的端口,一個是8080用於提供web服務,一個是8009用於監聽來自於apache的請求。當apache收到jsp或者servlet請求時,就向tomcat 8009端口發送請求,交由tomcat處理後,再返回給apache,由apache返回給客戶。

Tomcat安裝

首先搭建java的運行環境,安裝jdk

[root@localhosttomcat]# rpm -ivh jdk-7u45-linux-i586.rpm

編輯環境變量/etc/profile

wKiom1MJ80KxVxJNAACPByLmQb0932.jpg

然後重新加載/etc/profile文件

[root@localhosttomcat]# . /etc/profile

然後執行java –version可以看到java的版本號

[root@localhosttomcat]# java –version
java version"1.7.0_09-icedtea"
OpenJDK RuntimeEnvironment (rhel-2.3.4.1.el6_3-i386)
OpenJDK Client VM(build 23.2-b09, mixed mode)

然後安裝tomcat

[root@localhosttomcat]# tar -zxvf apache-tomcat-7.0.42.tar.gz -C /usr/local/
[root@localhosttomcat]# cd /usr/local/
[root@localhostlocal]# ln -s apache-tomcat-7.0.42 tomcat

將/usr/local/tomcat目錄下的bin目錄加入到搜索路徑中

wKioL1MJ8ymRFGtdAACJp4mLCKg105.jpg

到這裏tomcat就安裝完成了,先來測試一下

開啓tomcat

[root@localhost ~]#catalina.sh start

wKiom1MJ81mTCgPUAANlTL-jpWY218.jpg

從圖中看可以訪問

httpd安裝

首先安裝apr

[root@nddnd ~]# tar-zxvf apr-1.4.6.tar.gz -C /usr/local/src/
[root@nddnd ~]# cd/usr/local/src/apr-1.4.6/
[[email protected]]#./configure –prefix=/usr/local/apr
[[email protected]]# make && make install

   安裝apr-util

[root@nddnd ~]# tar -zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/
[root@nddnd ~]# cd /usr/local/src/apr-util-1.5.1/
[[email protected]]# ./configure --prefix=/usr/local/apr-util--with-apr=/usr/local/apr/bin/apr-1-config
[[email protected]]# make && make install

安裝httpd

 

[root@nddnd~]# tar -jxvf httpd-2.4.4.tar.bz2 -C /usr/local/src/
[root@nddnd~]# cd /usr/local/src/httpd-2.4.4/
[[email protected]]#  ./configure  --prefix=/usr/local/apache  --sysconfdir=/etc/httpd   --enable-so --enable-rewrite  --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config  --with-pcre  -with-z   --enable-mpms-shared=all --with-mpm=event  --enable-proxy --enable-proxy-http  --enable-proxy-ajp
[[email protected]]# make && make install


  添加/usr/local/apache/bin到系統搜索路徑

   wKioL1MJ80KQe8VEAAAuTlym4U4745.jpg

[root@nddndapache]# . /etc/profile

編寫控制httpd的shell腳本放到/etc/init.d/目錄裏。

#!/bin/bash
prog=/usr/local/apache/bin/httpd
lockfile=/var/lock/subsys/httpd
start(){
       if [ -e $lockfile ];then
       echo "httpd server is started"
       else echo -n "httpd server is starting... "
       sleep 1
       $prog –k start &>/dev/null && echo  "[ ok]" && touch $lockfile ||echo "[ failer ]"
       fi
}
stop(){
       if [ ! -e $lockfile ];then
       echo "httpd server is stoped"
       else echo -n "httpd server is stoping... "
       sleep 1
       $prog –k stop &>/dev/null && echo "[ ok ]"&& rm -rf $lockfile ||echo "[ failer ]"
       fi
}
status(){
       if [ -e $lockfile ];then
       echo "httpd server is started"
       else echo "httpd server no found"
       fi
}
case $1 in
start)
  start
   ;;
stop)
   stop
   ;;
restart)
   stop
  start
   ;;
status)
  status
   ;;
*)
echo"USAGE:start|stop|restart|status"
  ;;
esac

給於可執行權限

[root@nddnd apache]# chmod a+x/etc/init.d/httpd

編輯httpd的配置文件

[root@nddnd apache]# vim/etc/httpd/httpd.conf

wKiom1MJ83bQUQVMAABoUbAXObk606.jpg

啓動httpd

[root@nddnd apache]# service httpd start

Httpd到這裏也安裝完成了。

配置httpd

[root@nddndapache]# vim /etc/httpd/httpd.conf

wKioL1MJ81-g9bzTAAA9FN5nU2g576.jpg

編輯:/etc/httpd/extra/httpd-vhosts.conf

[root@nddndapache]# vim /etc/httpd/extra/httpd-vhosts.conf

wKiom1MJ85mDrGOMAADvSEK06Ks739.jpg

重啓httpd

[root@nddndapache]# service httpd restart

Tomcat服務器配置

[root@localhostconf]# mkdir -pv /www/webapps
[root@localhostconf]# cd /www/webapps/
[root@localhost webapps]# mkdirtest
[root@localhost webapps]#mkdir test/{lib,classes,WEB-INF}
[root@localhosttest]# vim index.jsp
<%@pagelanguage="java" %>
<html>
        <head>
            <title>TomcatA</title>
        </head>
    <body>
    <h2><font color="red">TomcatA in www.tyedus.com</font></h2>
    <% out.println("hello,word");%>
    </body>
</html>

修改/usr/local/tomcat/conf/server.xml

[root@localhost webapps]# cd/usr/local/tomcat/conf/
[root@localhost conf]# vimserver.xml

wKioL1MJ84SxrKVQAADvs2ErEWU424.jpg

測試訪問www.abc.com

wKiom1MJ87STOHV3AABzQveWsc4333.jpg

從圖中看可以成功訪問。

到這裏httpd和tomcat的結合就介紹完了。



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