apache+tomcat整合
一 、Apache与Tomcat的比较
apache支持静态页面,tomcat支持动态的,比如servlet等。
一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由tomcat来处理的。
apache可以支持php\cgi\perl,但是要使用java的话,你需要tomcat在apache后台支撑,将java请求由apache转发给tomcat处理。
apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet(jsp也翻译成servlet)容器,可以认为是apache的扩展,但是可以独立于apache运行。
这两个有以下几点可以比较的:
1、两者都是apache组织开发的
2、两者都有HTTP服务的功能
3、两者都是免费的
不同点:
Apache是专门用于提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等)
Tomcat是Apache组织在符合J2EE的JSP、Servlet标准下开发的一个JSP服务器
整合的好处是:
如果客户端请求的是静态页面,则只需要Apache服务器响应请求
如果客户端请求动态页面,则是Tomcat服务器响应请求
因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销
二、 Linux下Apache与Tomcat整合的简单方法
准备软件:
下载jdk1.7:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
下载tomcat7.0:http://tomcat.apache.org/download-70.cgi
下载httpd-2.4.16:http://httpd.apache.org/download.cgi
下载tomcat-connectors-1.2.41:http://tomcat.apache.org/download-connectors.cgi
1、JDK配置
[root@web1 ~]# cat /etc/redhat-release
CentOS release 6.6 (Final)
[root@web1 ~]# uname -a
Linux web1 2.6.32-504.el6.i686 #1 SMP Wed Oct 15 03:02:07 UTC 2014 i686 i686 i386 GNU/Linux
[root@web1 ~]# cd tools
[root@web1 tools]# tar xf jdk-1.7-linux-32bit.tar.gz -C /usr/local/
[root@web1 tools]# mv /usr/local/jdk1.7.0_67 /usr/local/jdk
[root@web1 tools]# vi /etc/profile
JAVA_HOME=/usr/local/jdk
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export JAVA_HOME PATH CLASSPATH
[root@web1 tools]# source /etc/profile
[root@web1 tools]# java -version #显示版本说明成功
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) Client VM (build 24.65-b04, mixed mode)
2、Tomcat配置
[root@web1 tools]# tar xf apache-tomcat-7.0.64.tar.gz -C /usr/local/
[root@web1 tools]# mv /usr/local/apache-tomcat-7.0.64 /usr/local/tomcat
#默认tomcat是root身份运行的,这样不安全,我们设置来用普通用户
[root@web1 tools]# groupadd tomcat
[root@web1 tools]# useradd -g tomcat tomcat
[root@web1 tools]# passwd tomcat
[root@web1 tools]# chown tomcat.tomcat -R /usr/local/tomcat
[root@web1 tools]# su - tomcat /usr/local/tomcat/bin/startup.sh
[root@web1 tools]# echo "su - tomcat /usr/local/tomcat/bin/startup.sh" >> /etc/rc.local #开机启动
[root@web1 tools]# netstat -tunlp|grep java
tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 14940/java
tcp 0 0 :::8009 :::* LISTEN 14940/java
tcp 0 0 :::8080 :::* LISTEN 14940/java
3、apache配置
[root@web1 tools]# yum -y install zlib zlib-devel
[root@web1 tools]# tar zxvf apr-1.5.1.tar.gz
[root@web1 tools]# cd apr-1.5.1
[root@web1 apr-1.5.1]# ./configure --prefix=/usr/local/apr
[root@web1 apr-1.5.1]# make && make install && cd -
[root@web1 tools]# tar zxvf apr-util-1.5.4.tar.gz
[root@web1 apr-util-1.5.4]# cd apr-util-1.5.4
[root@web1 apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@web1 apr-util-1.5.4]# make && make install && cd -
[root@web1 tools]# tar xf httpd-2.4.16.tar.gz
[root@web1 tools]# cd httpd-2.4.16
[root@web1
httpd-2.4.16]# ./configure --prefix=/application/apache2.4.16
--enable-deflate --enable-expires --enable-headers --enable-modules=most
--enable-so --with-mpm=event --enable-rewrite --with-apr=/usr/local/apr
--with-apr-util=/usr/local/apr-util
[root@web1 httpd-2.4.16]# make && make install && cd -
[root@web1 tools]# ln -s /application/apache2.4.16/ /application/apache
[root@web1 tools]# /application/apache/bin/apachectl -t
[root@web1 tools]# /application/apache/bin/apachectl start
[root@web1 tools]# echo "/application/apache/bin/apachectl start" >>/etc/rc.local
4、安装mod_jk
[root@web1 tools]# tar xf tomcat-connectors-1.2.41-src.tar.gz
[root@web1 tools]# cd tomcat-connectors-1.2.41-src/native
[root@web1 native]# ./configure --with-apxs=/application/apache2.4.16/bin/apxs && make && make install
到apache的modules下面看看有没有mod_jk.so模块,就到apache-2.0目录下cp一个
5、配置apache支持jk模块
[root@web1 ~]# vi /application/apache/conf/httpd.conf
LoadModule jk_module modules/mod_jk.so
……
Include conf/extra/mod_jk.conf
[root@web1 ~]# vi /application/apache/conf/extra/mod_jk.conf
JkWorkersFile /application/apache2.4.16/conf/extra/workers.properties
JkLogFile /application/apache2.4.16/logs/mod_jk.log
JkShmFile logs/jk-runtime-status
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
#Sample JkMounts. Replace these with the paths you would
#like to mount from your JSP server.
#syntax: JkMount ${URL_DIR}/*.jsp worker_name
JkMount /*.jsp worker1 #判断url中包含.jsp后缀的文件时,就交由tomcat来解析,原理类似nginx里面的location
JkMount /*.png worker1
JkMount /*.css worker1
JkMount /*.page worker1
JkMount /*.cic worker1
JkMount /*.do worker1
JkMount /*.action worker1
[root@web1 ~]# vi /application/apache/conf/extra/workers.properties
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=127.0.0.1
worker.worker1.port=8009
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
一般apache的网站根目录和tomcat的网站根目录在同一目录下,此处为了达到明显测试结果,按默认来设置了,保存退出,重启服务,测试如下:


apache+tomcat整合的更多相关文章
- apache+tomcat整合后的编码问题
apache+tomcat整合提供webserver服务的方式是为了实现两个目的:一是方便利用apache http server将客户请求均衡的分给tomcat1,tomcat2....去处理,即负 ...
- Apache Tomcat 整合
Infi-chu: http://www.cnblogs.com/Infi-chu/ 一.Apache+Tomcat整合是什么: 1.Apache默认访问端口是80,Tomcat默认访问端口是8080 ...
- ubuntu 下 apache+tomcat整合_(mod-jk方法)[转]
整合的平台是Centos5环境如下: apache源代码包: httpd-2.2.11.tar.gz 下载地址http://labs.xiaonei.com/apache-mirror/httpd/ ...
- windows中apache+tomcat整合,使php和java项目能够独立运行
一.下载和安装 1.安装php 网上有安装教程,不再赘述 2.安装apache 比如安装目录为e:\apache; 项目根目录为e:\www; 网上有安装教程,不再赘述 3.安装jdk 不再 ...
- centos7下apache+tomcat整合
前提 在系统中已经安装好了jdk.tomcat.apache #本人博客中jdk安装连接 http://www.cnblogs.com/xhkj/p/6545111.html #本人博客中tomcat ...
- Apache+tomcat的整合
http://blog.csdn.net/stefyue/article/details/6918542 为什么要做这个整合呢?当然,首先想到是就是Apache和Tomcat的区别.正因为有区别,有各 ...
- Apache+tomcat的整合 分类: C_OHTERS 2014-05-07 15:08 293人阅读 评论(0) 收藏
http://blog.csdn.net/stefyue/article/details/6918542 为什么要做这个整合呢?当然,首先想到是就是Apache和Tomcat的区别.正因为有区别,有各 ...
- Apache与Tomcat整合
Apache与Tomcat整合 一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache ...
- Windows下Apache+Tomcat+jsp+php的服务器整合配置经验总结
对于Apache+Tomcat+jsp+php的整合,针对不同的Tomcat和apache的版本,稍微有些区别. 一.所需软件 (1)JDK: jdk-7u15-windows-x64.exejdk的 ...
随机推荐
- SQL查询中的in与join效率比较
大多数情况下,程序员比较喜欢使用in来查询符合某些条件的数据,最近在查询某个角色有哪些用户的方法中,使用了in语句: ) FROM baseuser AND BaseUser.Id IN (SELEC ...
- 【Android Studio使用教程5】使用SDK Manager时, SDK下载更新不了的解决方案(eclipse 也适用)
在线更新sdk时会很慢,甚至下载不了, 此时在SDK Manager中,选择Tools,Proxy里面填上 mirrors.neusoft.edu.cn 和 80 把下面的force https xx ...
- XE5 Android 开发数据访问手机端 解决乱码的办法
经过测试,将sqlserver里的字段由varchar 或者char 改为 nvarchar 或者nchar 然后在手机端的clientdataset 增加字段的时候数据类型选择widestrin ...
- Python练习册--PIL处理图片之加水印
背景 最近在看到了Python 练习册,每天一个小程序 这个项目,非常有趣,也比较实用. 晚上看了这第000题,关于Python图片处理: 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似 ...
- python连接字符串的方式
发现Python连接字符串又是用的不顺手,影响速度 1.数字对字符进行拼接 s="" #定义这个字符串,方便做连接 print type(s) for i in range(10 ...
- 苹果所有证书、appID、Provisioning Profiles配置说明及制作教程
1.开发者证书(分为开发和发布两种,类型为ios Development,ios Distribution): 2.appID,这是每一个应用的独立标识,在设置项中可以配置该应用的权限,比如是否用到了 ...
- MSP下载方式
MSP430无论是仿真还是烧写程序,一般可以通过:JTAG.SBW.BSL接口进行. 1.JTAG是利用边界扫描技术,在430内部有逻辑接口给JTAG使用,内部有若干个寄存器连接到了430内部数据地址 ...
- 写过的HTML标签(一)
HTML > 标题显示字体大小为<h1>. HTML 段落是通过标签 <p> 来定义的. HTML 链接是通过标签 <a> 来定义的. 实例: < ...
- backbone.Collection源码笔记
Backbone.Collection backbone的Collection(集合),用来存储多个model,并且可以多这些model进行数组一样的操作,比如添加,修改,删除,排序,插入,根据索引取 ...
- JavaScript--变量、作用域及内存(12)
// JS变量是松散型的(不强制类型)本质,决定了它只是在特定时间用于保存特定值的一个名字而已; // 由于不存在定义某个变量必须要保存何种数据类型值的规则,变量的值及其数据类型可以在脚本的生命周期内 ...