美文网首页我爱编程
apache整合tomcat,tomcat集群

apache整合tomcat,tomcat集群

作者: hybzzz | 来源:发表于2018-04-11 10:29 被阅读50次

    环境:win10,jdk1.8,tomcat9,httpd2.4

    1.安装apache

    下载地址:https://www.apachehaus.com/cgi-bin/download.plx

    解压压缩包即可;

    第一次启动时出现错误如图:

    修改conf下的http.conf文件:

    改成当前安装路径,比如我是D:\apache\Apache24

    再次启动访问localhost:

    这边默认访问的是htdocs/index.html

    如果想指定访问路径应该怎么做,比如我想访问到D:\apache\www路径(在D:\apache\www新建index.html和文件夹css),那就需要做个访问的根目录配置(同nginx的serverroot),一样是http.conf,将如下图的DocumentRoot改成D:\apache\www,再将该节点下的Options Indexes FollowSymLinks改成Options None(无法直接访问文件层次结构)

    修改后重启访问localhost如图:

    访问localhost/css:

    这边apache的配置就先到这边

    2.安装tomcat

    下载地址http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.7/bin/apache-tomcat-9.0.7-windows-x64.zip

    下载解压,将项目war包放到webapps目录下 ,到bin目录用startup.bat启动即可

    3.apache整合tomcat

    首先了解一下tomcat与apache如何协同工作:

    1)      Apache装有一个模块,这个模块叫mod_jk

    2)      Apache通过80端口负责解析任何静态web内容

    3)      任何不能解析的内容,用表达式告诉mod_jk,让mod_jk派发给相关的app server去解释。

    首先需要下载一个叫modjk的模块,(https://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/tomcat-connectors-1.2.40-windows-x86_64-httpd-2.4.x.zip)

    下载后解压,将mod_jk.so文件拷贝到D:\apache\Apache24\modules目录下,并在http.conf加入如下配置

    并在conf文件夹下加入配置文件workers.properties:

    到这步已经整合完毕,将项目拷贝到documentroot以及tomcat的webapps下面进行测试:

    打开localhost/项目名称

    当我们登陆请求后台时 可以看到tomcat日志并且登陆成功,即整合成功

    4.tomcat纵向集群

    修改${apache_home}/conf/workers.properties如下:

    配置到2个tocmat ,分别监听到端口,再将tomcat配置到jktest中

    http.conf不用修改,因为用的一直都是jktest作为worker名称;

    复制tomcat如图:

    进入tomcat1,tomcat2修改server.xml,这边tomcat要同时运行,所以要保证端口配置唯一,比如8080&8081,8009&8010,8005&8006等

    在tomcat1的servlet.xml找到如下配置

    给Engine节点添加属性jvmRoute属性,属性值为worker里的tomcat,这边为tomcat1,(jvmRoute为tomcat集群复制session,通过session_cookie这种方式来实现session粘性,将特定会话附属到特定tomcat上,从而解决session不同步问题),在tomcat2的server.xml加入同样配置,jvmRoute指向tomcat2

    在tomcat1,2的server.xml Engine节点加入如下配置,标注的端口保持唯一

    在项目的web.xml文件</web-app>上面加一行</distributable>,告诉tomcat此项目需要做session持久化(注意,这边set到session的对象必须实现序列化接口处理)

    配置后启动apache,tomcat1,tomcat2,:

    即为集群配置成功,访问可以看到2个tomcat日志轮流跑动;

    tips:tomcat优化

    修改catalina.bat文件,给定jvm内存等

    set JAVA_OPTS=-server -Xms1024M -Xmx1024M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=31 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC  -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m  -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true   

    修改server.xml

    相关文章

      网友评论

        本文标题:apache整合tomcat,tomcat集群

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