实验环境:centos6.4-i386
有用软件:http://pan.baidu.com/s/1bn1m2UN
网络拓扑:
IP地址规划
Httpd服务器:192.168.29.20
Tomcat服务器:192.168.29.30
Apache+Tomcat整合的好处:
1.Apache主要用来解析静态文本,如html,tomcat虽然也有此功能,但apache能大大提高效率,对于并发数较大的企业级应用,能更好的显示apache的高效率;
2.Tomcat用来解析jsp,servlet等,所有的客户请求首先会发送到Apache,如果请求是静态文本则由apache解析,并把结果返回给客户端,如果是动态的请求,如jsp,apache会把解析工作交给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
然后重新加载/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目录加入到搜索路径中
到这里tomcat就安装完成了,先来测试一下
开启tomcat
[root@localhost ~]#catalina.sh start
从图中看可以访问
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/ [root@nddndapr-1.4.6]#./configure –prefix=/usr/local/apr [root@nddndapr-1.4.6]# 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/ [root@nddndapr-util-1.5.1]# ./configure --prefix=/usr/local/apr-util--with-apr=/usr/local/apr/bin/apr-1-config [root@nddndapr-util-1.5.1]# 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/ [root@nddndhttpd-2.4.4]# ./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 [root@nddndhttpd-2.4.4]# make && make install
添加/usr/local/apache/bin到系统搜索路径
[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
启动httpd
[root@nddnd apache]# service httpd start
Httpd到这里也安装完成了。
配置httpd
[root@nddndapache]# vim /etc/httpd/httpd.conf
编辑:/etc/httpd/extra/httpd-vhosts.conf
[root@nddndapache]# vim /etc/httpd/extra/httpd-vhosts.conf
重启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
测试访问www.abc.com
从图中看可以成功访问。
到这里httpd和tomcat的结合就介绍完了。