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测试









本文转自 lgpqdwjh 51CTO博客,原文链接:http://blog.51cto.com/itchenyi/1169267,如需转载请自行联系原作者
目录
相关文章
|
6天前
|
Java 应用服务中间件 Apache
从零手写实现 apache Tomcat-01-入门介绍
创建简易Tomcat涉及理解其作为Java服务器的角色,建立HTTP服务器,实现Servlet接口处理动态和静态内容,以及启动和关闭服务器。项目mini-cat是一个简化版Tomcat实现,支持Servlet、静态网页和基础功能。可通过maven添加依赖并运行测试类快速体验。开源项目位于[GitHub](https://github.com/houbb/minicat)。
|
6天前
|
前端开发 Java 应用服务中间件
从零手写实现 tomcat-08-tomcat 如何与 springboot 集成?
本文探讨了Spring Boot如何实现像普通Java程序一样通过main方法启动,关键在于Spring Boot的自动配置、内嵌Servlet容器(如Tomcat)以及`SpringApplication`类。Spring与Tomcat集成有两种方式:独立模式和嵌入式模式,两者通过Servlet规范、Spring MVC协同工作。Spring和Tomcat的生命周期同步涉及启动、运行和关闭阶段,通过事件和监听器实现。文章鼓励读者从实现Tomcat中学习资源管理和生命周期管理。此外,推荐了Netty权威指南系列文章,并提到了一个名为mini-cat的简易Tomcat实现项目。
|
6天前
|
关系型数据库 MySQL 应用服务中间件
centos7在线安装jdk1.8+tomcat+mysql8+nginx+docker
现在,你已经成功在CentOS 7上安装了JDK 1.8、Tomcat、MySQL 8、Nginx和Docker。你可以根据需要配置和使用这些服务。请注意,安装和配置这些服务的详细设置取决于你的具体需求。
78 2
|
6天前
|
XML 安全 Java
从零手写实现 apache Tomcat-02-web.xml 入门详细介绍
`web.xml`是Java Web应用的核心配置文件,描述应用工作方式。它包含Servlet、Filter和Listener的定义。例如,示例展示了如何配置名为`my`的Servlet处理`/my`请求,`LoggingFilter`拦截所有请求,以及`MyServletContextAttrListener`监听应用事件。`web.xml`是服务器理解应用结构与行为的指南。迷你版Tomcat实现——mini-cat(开源:https://github.com/houbb/minicat)。
|
6天前
|
网络协议 Java 应用服务中间件
记录_centos7离线环境和虚拟机共享文件安装jdk和tomcat(配置环境变量)
记录_centos7离线环境和虚拟机共享文件安装jdk和tomcat(配置环境变量)
11 0
|
6天前
|
负载均衡 Ubuntu 应用服务中间件
Apache(mod_proxy)+Tomcat负载均衡配置
Apache(mod_proxy)+Tomcat负载均衡配置
|
6天前
|
监控 NoSQL Java
Spring Boot集成Redis启动失败【Caused by: java.lang.ClassNotFoundException: org.apache.commons.pool2.impl.G】
Spring Boot集成Redis启动失败【Caused by: java.lang.ClassNotFoundException: org.apache.commons.pool2.impl.G】
|
6天前
|
SQL 分布式计算 Apache
生态 | Apache Hudi集成Apache Zeppelin
生态 | Apache Hudi集成Apache Zeppelin
35 0
|
6天前
|
缓存 分布式计算 Apache
Apache Hudi与Apache Flink更好地集成,最新方案了解下?
Apache Hudi与Apache Flink更好地集成,最新方案了解下?
74 0
|
6天前
|
监控 Apache 开发工具
Apache Flink 1.12.2集成Hudi 0.9.0运行指南
Apache Flink 1.12.2集成Hudi 0.9.0运行指南
70 0

热门文章

最新文章