文档章节

apache-tomcat集成,转帖

熊二哈
 熊二哈
发布于 2011/10/10 15:32
字数 892
阅读 167
收藏 2

集成了几次,发现一篇更清晰的。

来源地址:http://www.oschina.net/question/27309_2233

Apache 整合tomcat可以通过 JK, 这是往常的做法。但现在也可以通过 Apache 的反向的代理功能实现。
不过我想LZ现在应该是需要 Apache + JK + Tomcat 这种配置了。

先问问LZ说里边报的警告是什么?

首先说说是 Apache 的配置 httpd.conf

LZ 需要的是配置虚拟主机, 即 Apache + JK +( tomcat1 / tomcat 2)

这么首先配的是 httpd.conf 的虚拟主机配置

如下:httpd.conf 找到 #NameVirtualHost 去掉前边的 # 然后配置如下

NameVirtualHost *:80

#########################################

<VirtualHost *:80>
ServerAdmin xxx@xxx.com
DocumentRoot "/opt/webroot"
ServerName localhost
#ErrorLog logs/error.log
JkMountFile conf/localhost.properties
</VirtualHost>

#########################################

<VirtualHost *:80>
ServerAdmin xxx@xxx.com
DocumentRoot "/opt/web1"
ServerAlias www.web1.com
#ErrorLog logs/error.log
JkMountFile conf/web1.properties #加载mod_jk配置路径
</VirtualHost>

#########################################

<VirtualHost *:80>
ServerAdmin xxx@xxx.com
DocumentRoot "/opt/web2"
ServerAlias www.web2.com
#ErrorLog logs/error.log
JkMountFile conf/web2.properties #加载mod_jk配置路径
</VirtualHost>

##################################

以上配置的前提是你已经顺利编译安装好 mod_jk 模块

然后修改 mod_jk 的全局配置 httpd-jk.conf

vim conf/extra/httpd-jk.conf

LoadModule jk_module modules/mod_jk.so

JkWorkersFile conf/workers.properties #指定各个配置文件路径
JkMountFile conf/urimap.properties
JkLogFile logs/mod_jk.log
JkLogLevel warn

<Location /jkstatus> #管理页面
JkMount status
</Location>


:wq 保存退出

#########################

然后创建各自的 web1.properties ,web2.properties 配置文件,目录路径跟 httpd.conf 相同

# vim conf/web1.properties

/*=tomcat_web1

!/*.gif=web1
!/*.jpg=web1
!/*.png=web1
!/*.html=web1
!/*.htm=web1

#第一行的意思是把请求转往代号为 tomcat_web1(命名可与虚拟主机无关) 的 tomcat 端, 一会我们需要在 workers.properties 配置中设置。
#而剩下的是不需要转往 tomcat 的请求类型, 因为 tomcat 处理静态文件性能很差, 所以这里的规则就是过滤,把静态文件处理留给apache。
:wq 保存退出

web2.properties 的配置方式跟 web1 相同。

#################################

编辑 jk 全局配置

# Vim workers.properties

worker.list=tomcat_web1,tomcat_web2,status #告诉 jk 你需要他统管的 tomcat 名(代号) 最后一个"status" 是jk 的管理页面

worker.status.type=status #为 status 路径设置属性为管理页面。

############# 先配置好每个 tomcat 与 JK 的链接参数 ################
worker.s1.type=ajp13 #协议类型
worker.s1.host=127.0.0.1 #tomcat所在服务器的ip,如果是本机就是 127.0.0.1
worker.s1.port=8108 #tomcat的端口
worker.s1.lbfactor=1 #如果是均衡负载状态,多个tomcat的负载比例。

worker.s2.type=ajp13
worker.s2.host=127.0.0.1
worker.s2.port=8109
worker.s2.lbfactor=1

############## 再配置 tomcat 与 jk 的调度 ###############

worker.tomcat_web1.type=lb #lb 的意思是可集成多个tomcat均衡负载,但只有一个tomcat 的时候也可以使用。
worker.tomcat_web1.balance_workers=s1 #开头的"worker.tomcat_web1"对应web1.properties的配置。这里配置群组的tomcat成员。"s1" 是成员代号。对应上边tomcat的链接参数。
worker.tomcat_web1.sticky_session=True #是否打开session 粘贴。

worker.tomcat_web2.type=lb #意义同上
worker.tomcat_web2.balance_workers=s2
worker.tomcat_web2.sticky_session=True

:wq 配置完成后保存退出

###########################

配置路径名:

编辑或创建 urimap.properties

# vim urimap.properties

/*=lb # 把请求发往 lb
/jkstatus=status # 把JK管理页面的连接定为 http://www.web1.com/jkstatus 或者 http://www.web2.com/jkstatus

:wq 保存退出

你也可以修改或创建相同目录里localhost.properties 把 管理页面链接加到里边。这么链接地址就为 http://localhost/jkstatus
#####################

然后就剩下 tomcat 了

修改端口号对应tomcat 组这个不用说了吧?

最重要说的是既然在各自的 web1.properties 跟 workers.properties中配置了 tomcat 名, 这么除了告诉jk tomcat的IP地址以及端口号, 还必须告诉 tomcat 他的名字。

Engine jvmRoute="tomcat_web1"

分别在 tomcat1 跟 tomcat2 的 server.xml 中找到相应的配置. 改上相应的参数!

到此,即完成整个 Apache + JK + tomcat 的配置过程。


© 著作权归作者所有

熊二哈
粉丝 14
博文 109
码字总数 56637
作品 0
昆明
部门经理
私信 提问
Eclipse中启动Tomcat是提示APR中不到的解决方法

开发环境从Myeclipse转到Eclipse中遇到一些问题,其中之一就是启动Tomcat时会出现找不到APR的提示,如下 信息: The Apache Tomcat Native library which allows optimal performance in prod...

盐巴2012
2012/04/08
261
0
转帖: Tomcat 并发测试

工作需要测试了一下tomcat并发连接。 注:只是测试并发请求处理。业务、数据库相关均没有测试。 OS:CentOS 4.6 x64 CPU:Intel(R) Xeon(R) CPU E5405 @ 2.00GHz x2 Mem: 8G JDK:jdk-6u14-lin...

红薯
2009/08/04
2.1K
2
Windows环境下的tomcat + apache配置

Apache的HTTPD是目前比较受欢迎的网站服务器软件,它不但功能强大,而且完全免费,并且支持市场上流行的各种操作系统(Windows,Linux,Mac os)。同时对于Java Servlet/JSP的支持,通常也会使用...

Sephiroth
2010/02/06
524
0
IIS 反向代理到 Apache、Tomcat

IIS 反向代理可以将请求的网址重写到其它网址,达到转发的目的。一般用于一台服务器只允许开启80端口,而80端口又被IIS使用,此时需要在IIS中设置URL重写,将请求转发到指定 或网址 环境 Wi...

selier
2018/08/25
0
0
通过集成APR提高tomcat处理静态资源的能力

通过集成APR提高tomcat处理静态资源的能力 Tomcat在处理静态资源上面有一定的能力缺陷,所以通常我们会通过Apache与Tomcat集成,让Apache处理所有的静态内容来进行优化。但其实,我们可以直接...

jolphin
2012/05/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

前端技术之:Prisma Demo服务部署过程记录

安装前提条件: 1、已经安装了docker运行环境 2、以下命令执行记录发生在MackBook环境 3、已经安装了PostgreSQL(我使用的是11版本) 4、Node开发运行环境可以正常工作 首先需要通过Node包管...

popgis
今天
5
0
数组和链表

数组 链表 技巧一:掌握链表,想轻松写出正确的链表代码,需要理解指针获引用的含义: 对指针的理解,记住下面的这句话就可以了: 将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指...

code-ortaerc
今天
4
0
栈-链式(c/c++实现)

上次说“栈是在线性表演变而来的,线性表很自由,想往哪里插数据就往哪里插数据,想删哪数据就删哪数据...。但给线性表一些限制呢,就没那么自由了,把线性表的三边封起来就变成了栈,栈只能...

白客C
今天
42
0
Mybatis Plus service

/** * @author beth * @data 2019-10-20 23:34 */@RunWith(SpringRunner.class)@SpringBootTestpublic class ServiceTest { @Autowired private IUserInfoService iUserInfoS......

一个yuanbeth
今天
5
0
php7-internal 7 zval的操作

## 7.7 zval的操作 扩展中经常会用到各种类型的zval,PHP提供了很多宏用于不同类型zval的操作,尽管我们也可以自己操作zval,但这并不是一个好习惯,因为zval有很多其它用途的标识,如果自己...

冻结not
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部