189 8069 5689

apache整合tomcat(一)

win8系统下的Apache整合Tomcat
1 安装apache 版本:apache_2.2.14-win32-x86-no_ssl
2 安装tomcat 版本:apache-tomcat-7.0.54-windows-i64.zip

创新互联公司长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为景洪企业提供专业的网站设计、成都做网站,景洪网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

配置tomcat

默认情况下,Tomcat在server.xml中配置了两种连接器:

第一个连接器监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。

第二个连接器监听8009端口,负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器。

两种端口可以同时开,也可以开一个。例如我们使用apache通过ajp进行负载均衡配置时,可以关掉tomcat的http8080端口以防止可以被单独访问。

参考资料 http://limingnihao.iteye.com/blog/1934548

配置apache
1 负载平衡支持
httpd.conf中找到下列几行 并解开
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

2 多站点配置
httpd.conf 中找到
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#Include conf/extra/httpd-vhosts.conf
两行 解开 目的是让Apache在启动时能加载虚拟主机模块
参考资料 http://www.gn00.com/thread-213269-1-1.html

3 MOD_JK
Tomcat提供了专门的JK插件来负责Tomcat和HTTP服务器的通信。应该把JK插件安置在对方的HTTP服务器上。当HTTP服务器接收到客户请求时,它会通过JK插件来过滤URL,JK插件根据预先配置好的URL映射信息,决定

是否要把客户请求转发给Tomcat服务器处理。例如预先配置好所有"/*.jsp"形式的URL都由Tomcat服务器来处理
Tomcat提供了不同的JK插件的实现模块。常用的JK插件有:
与Apache HTTPD服务器集成:mod_jk.so
与Windows IIS服务器集成:isapi_redirect.dll
4 Workers.properties
Workers实际上属于Tomcat的链接器(Connector),代表了一个Tomcat实例
配置项
worker.list=seo
worker.maintain=60

# ======================seo=======================
worker.seo1.port=8009
worker.seo1.host=127.0.0.1
worker.seo1.type=ajp13
worker.seo1.socket_timeout=0
worker.seo1.socket_keepalive=true
worker.seo1.lbfactor=1

worker.seo.type=lb
worker.seo.balance_workers=seo1
#=================================================

5mod_jk.conf
# a versioned file name.
LoadModule jk_module modules/mod_jk_2.2_32.so

JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkShmFile logs/mod_jk.shm
# JkOptions +RejectUnsafeURI
# JkStripSession On
JkWatchdogInterval 60

# Inside Location we can omit the URL in JkMount
JkMount jk-status
Order deny,allow
Deny from all
Allow from 127.0.0.1


# Inside Location we can omit the URL in JkMount
JkMount jk-manager
Order deny,allow
Deny from all
Allow from 127.0.0.1

JkMountFile conf/uriworkermap.properties
JkMount /* balancer
# JkUnMount /myapp/static/* *
# JkUnMount /myapp/images/* balancer
# SetEnvIf REQUEST_URI ".(htm|html|css|gif|jpg|js)$" no-jk
# SetEnvIf Request_URI "/transactions/" JK_REPLY_TIMEOUT=600000
# SetEnvIf Request_URI "/reports/" JK_REPLY_TIMEOUT=0


6 目录文件访问

Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all

7 访问控制

# All requests go to Tomcat by default

JkMount /app app

#不通过tomcat

# Serve html, jpg and gif etc using Apache
#JkUnMount /app/*.css app

配置中遇到的问题:

1 安装apache后缺少mod_jk.so 文件 从其他地方下载了一个

2目录文件访问我设置为可以目录访问,导致jsp文件在浏览器中以源码显示

3使用http访问8080 正常访问,添加apache后以80端口访问失败,原因是 worker.seo1.port=8009此处应该配置ajp的端口8009


本文名称:apache整合tomcat(一)
本文地址:http://jkwzsj.com/article/cgphsi.html

其他资讯