美文网首页
2019-04-17 Win-Apache-Tomcat-mod

2019-04-17 Win-Apache-Tomcat-mod

作者: 麦兜的刀 | 来源:发表于2019-04-17 08:31 被阅读0次

1. win-Apache-Tomcat-mod_jk

1.1.1. 工具下载

  1. JDK 8
    下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  2. Apache 2.4
    下载地址 https://www.apachehaus.com/cgi-bin/download.plx
  3. Tomcat 9
    下载地址 https://tomcat.apache.org/download-90.cgi
  4. mod_jk 1.2.4
    下载地址 http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/tomcat-connectors-1.2.40-windows-x86_64-httpd-2.4.x.zip

注意:Apache 和 mod_jk 的版本要一致,32位64位也要一致,不然会出错Cannot load modules/mod_jk.so into server
apache和tomcat的安装,略……

1.1.2. Apache配置

  1. 配置mod_jk.so
    将tomcat-connectors-1.2.40-windows-x86_64-httpd-2.4.x.zip解压,并找到其中mod_jk.so文件,将其放至Apache24\modules文件夹中

  2. 配置httpd.conf
    在Apache24\conf目录下找到httpd.conf,增加如下代码:

Include conf/mod_jk.conf

  1. 配置mod_jk.conf
    在Apache24\conf目录下建立mod_jk.conf文件,配置以下代码。
#加载mod_jk Module
LoadModule jk_module modules/mod_jk.so
#指定workers.properties文件路径
JkWorkersFile conf/workers.properties
#日志 info debug error
JkLogFile logs/mod_jk.log
JkLogLevel debug
#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器
JkMount /*.do controller
JkMount /*WEB-INF controller
JkMount /*j_spring_security_check controller
JkMount /*.action controller
JkMount /servlet/* controller
JkMount /*.jsp controller
JkMount /*.do controller
JkMount /*.action controller
JkMount /* controller
  1. 配置workers.properties
    在Apache24\conf目录下建立workers.properties文件,配置以下代码。
#server
worker.list=controller,tomcat1,tomcat2   #server 列表
#========tomcat1========    
worker.tomcat1.port=8009       #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcat1.host=localhost  #tomcat的主机地址,如不为本机,请填写ip地址 
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1    #server的加权比重,值越高,分得的请求越多 
#========tomcat2========  
worker.tomcat2.port=8019
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1
#========controller,负载均衡控制器========   
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2   #指定分担请求的tomcat    
worker.controller.sticky_session=false               #回话是否有粘性,false表示无粘性,同一个回话的请求会到不同的tomcat中处理
worker.controller.sticky_session_force=false         #当一个节点蹦了,如果设值为true,那么服务器返回500错误给客户端,如果设值为false,则转发给其他的tomcat,但是会丢失回话信息

1.1.3. Tomcat配置

  1. 配置server.xml

在conf目录下找到server.xml文件,做如下修改,其中jvmRoute和workers.properties中的worker一致
在tomcat1中:
<Engine defaultHost="localhost" name="Catalina" jvmRoute="tomcat1">
在tomcat2中:
<Engine defaultHost="localhost" name="Catalina" jvmRoute="tomcat2">

  1. 将以下注释掉的代码打开,启用全局会话复制功能
    每个tomcat中:

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

  1. 配置运行项目
    需要在集群下运行的项目的web.xml文件结束标志/web-app前中加入

<distributable/>

  1. 启动多个tomcat
    如果你在同一台服务器上配置多个tomcat还需要做以下配置

4.1. conf/server.xml文件:修改端口号

<Server port="8006" shutdown="SHUTDOWN">
<Connector port="8010" protocol="AJP/1.3" redirectPort="8444"/>
<Connector connectionTimeout="20000" port="8082" protocol="HTTP/1.1" redirectPort="8444"/>
4.2. conf/server.xml文件:修改根目录:
<Context path="/test" docBase="E:/tomcat1/webapps/testProject" debug="0" reloadable="true" />
<Context path="/test" docBase="E:/tomcat2/webapps/testProject" debug="0" reloadable="true" />
此外,你也可以将要运行的项目分别放置于tomcat1和tomcat2的webapps下,并且将<Context/>节点删除

至此,配置全部完成

相关文章

网友评论

      本文标题:2019-04-17 Win-Apache-Tomcat-mod

      本文链接:https://www.haomeiwen.com/subject/yizwwqtx.html