mianfeis 发表于 2013-4-3 08:54:51

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来完成)
# chmod a+x jdk-6u7-linux-i586.bin
Python



1
2
3
4
5

   export JAVA_HOME=/software/jdk1.6.0_07
   export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
   export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH



# chmod 755 /etc/profile.d/java.sh
Python



1
2
3
4

java version "1.6.0_07"
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)




测试JAVA程序
# vi test.java
public class test {
      System.out.println("Hello World!");
}
# javac test.java
Hello World!

安装Tomcat(Tomcat的安装只需要解压,改名移到合适的地方即可完成安装)
# tar zxf apache-tomcat-6.0.14.tar.gz
Python



1
2
3
4
5

# cd jakarta-tomcat-connectors-1.2.15-src
# ls /software/apache2/modules/mod_jk.so
/software/apache2/modules/mod_jk.so



新建mod_jk.conf(注意我所在的路径)
# vi mod_jk.conf
JkWorkersFile "/etc/httpd/workers.properties"         #JK连接器属性的设定
JkLogLevel emerg
Jkmount /*.jsp ajp13

新建workers.properties
workers.tomcat_home=/software/tomcat
ps=/
workers.ajp13.port=8009                #tomcat worker主机监听的端口。默认情况下tomcat在ajp13协议中使用的端口为8009
workers.ajp13.type=ajp13            #定义一个名为“ajp13”的worker,其使用ajp13协议与tomcat 进程通讯
Python



1

#vi httpd.conf



添加如下语句
Include /etc/httpd/mod_jk.conf

保存退出后重启Apache和Tomcat
# /software/apache2/bin/apachectl stop
# /software/apache2/bin/apachectl start
# /software/tomcat/bin/shutdown.sh
Using CATALINA_HOME:   /software/tomcat
Using JRE_HOME:       /software/jdk1.6.0_07/jre
# /software/tomcat/bin/startup.sh
Using CATALINA_HOME:   /software/tomcat
Using JRE_HOME:       /software/jdk1.6.0_07/jre

通过netstat查看相关服务状态
# netstat -pant | grep 80
tcp      0      0 127.0.0.1:42441             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:42440             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 :::8080                  :::*                        LISTEN      4434/java         
tcp      0      0 ::ffff:127.0.0.1:8005      :::*                        LISTEN      4434/java         
tcp      0      0 ::ffff:127.0.0.1:58570      ::ffff:127.0.0.1:8005       TIME_WAIT-                  
Python



1
2
3
4
5
6
7
8


<tomcat-users>
<role rolename="admin"/>
</tomcat-users>




写一个简单的jsp页面进行测试
# vi /software/tomcat/webapps/ROOT/test.jsp
<%@ page language="java" %>
<html>
    <title>JSP test page.</title>
<body>
</body>
</html>
访问tomcatjsp测试
QQ交流群:41405569

457475451 发表于 2013-4-3 09:03:29

帮你顶下哈!!

判官007 发表于 2013-5-16 19:03:30

看尽天下A片,心中自然无码~

k668 发表于 2013-5-18 01:28:18

老天,你让夏天和冬天同房了吧?生出这鬼天气!

孤独海岸线 发表于 2013-5-19 04:35:33

为中华而努力读书!一包中华好多钱啊~~~

314598340 发表于 2013-5-20 14:36:47

我是来刷分的,嘿嘿

760176104 发表于 2013-5-22 01:09:48

月经不仅仅是女人的痛苦,也是男人的痛苦。
页: [1]
查看完整版本: CentOS 6.2Web系统集成之Apache与Tomcat集成