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

你可能感兴趣的:(apache,tomcat,centos6.2,itchenyi,辰逸)