摘要:摘要: windows 和 linux 系统中 整合 配置及遇到的问题处理方法
win8系统下的Apache整合Tomcat
1 安装apache 版本:apache_2.2.14-win32-x86-no_ssl
2 安装tomcat 版本:apache-tomcat-7.0.54-windows-i64.zip
配置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
#=================================================
5 mod_jk.conf
# a versioned file name.
LoadModule jk_module modules/mod_jk_2.2_32.so
<IfModule jk_module>
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkShmFile logs/mod_jk.shm
# JkOptions +RejectUnsafeURI
# JkStripSession On
JkWatchdogInterval 60
<Location /jk-status>
# Inside Location we can omit the URL in JkMount
JkMount jk-status
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
<Location /jk-manager>
# Inside Location we can omit the URL in JkMount
JkMount jk-manager
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
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
</IfModule>
6 目录文件访问
<Directory "/home/ums.com/application/">
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
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
相关文章推荐
虚拟主机的专业参数,分别都是什么意思?2022-09-09
中非域名注册规则是怎样的?注册域名有什么用处? 2022-01-10
HostEase新年活动促销 美国/香港主机全场低至五折2021-12-28
HostGator下载完整备份教程分享2021-12-28
Flink中有界数据与无界数据的示例分析2021-12-28