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.shexport JAVA_HOME=/software/jdk1.6.0_07export JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport 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 -versionjava 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.javapublic class test {public static void main(String args[]) {System.out.println(“Hello World!”);}}[root@chenyi software]# javac test.java [root@chenyi software]# java testHello 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.soJkWorkersFile “/etc/httpd/workers.properties”#JK连接器属性的设定JkLogFile “/software/tomcat/logs/mod_jk.log”JkLogLevel emergServerName localhostJkmount /*.jsp ajp13

新建workers.properties

workers.tomcat_home=/software/tomcatworkers.java_home=/software/jdk1.6.0_07ps=/workers.list=ajp13#worker.list用来定义Workers列表,当apache启动时,workers.properties作为插件将初始化出现在worker.list列表中的workers。workers.ajp13.port=8009#tomcat worker主机监听的端口。默认情况下tomcat在ajp13协议中使用的端口为8009workers.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/tomcatUsing CATALINA_HOME: /software/tomcatUsing CATALINA_TMPDIR: /software/tomcat/tempUsing JRE_HOME:/software/jdk1.6.0_07/jre[root@chenyi ~]# /software/tomcat/bin/startup.sh Using CATALINA_BASE: /software/tomcatUsing CATALINA_HOME: /software/tomcatUsing CATALINA_TMPDIR: /software/tomcat/tempUsing JRE_HOME:/software/jdk1.6.0_07/jre

通过netstat查看相关服务状态

[root@chenyi ~]# netstat -pant | grep 80tcp00 127.0.0.1:42442127.0.0.1:8009TIME_WAIT -tcp00 127.0.0.1:42441127.0.0.1:8009TIME_WAIT -tcp00 127.0.0.1:42438127.0.0.1:8009TIME_WAIT -tcp00 127.0.0.1:42439127.0.0.1:8009TIME_WAIT -tcp00 127.0.0.1:42446127.0.0.1:8009TIME_WAIT -tcp00 127.0.0.1:42440127.0.0.1:8009TIME_WAIT -tcp00 127.0.0.1:42437127.0.0.1:8009TIME_WAIT -tcp00 127.0.0.1:42443127.0.0.1:8009TIME_WAIT -tcp00 127.0.0.1:42445127.0.0.1:8009TIME_WAIT -tcp00 :::8080:::*LISTEN4434/javatcp00 :::80:::*LISTEN4399/httpdtcp00 ::ffff:127.0.0.1:8005:::*LISTEN4434/javatcp00 :::8009:::*LISTEN4434/javatcp00 ::ffff:127.0.0.1:58570::ffff:127.0.0.1:8005TIME_WAIT -tcp00 ::ffff:127.0.0.1:43053::ffff:127.0.0.1:8080TIME_WAIT –

通过:8080访问进行测试

不论你在什么时候结束,重要的是结束之後就不要悔恨

CentOS 6.2Web系统集成之Apache与Tomcat集成

相关文章:

你感兴趣的文章:

标签云: