apache2.2.16+mod_jk.1.2.30+tomcat7.0.2集群session复制
APACHE 2.2.4与TOMCAT6.0.14整合教程

APACHE 2.2.4+TOMCAT6.0.14配置负载均衡的网站目标:使用 apache 和 tomcat 配置一个可以应用的 web 网站,要达到以下要求:1、 Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡。
2、为系统设定 Session 超时时间,包括 Apache 和 tomcat3、为系统屏蔽文件列表,包括 Apache 和 tomcat注:本例程以一台机器为例子,即同一台机器上装一个apache+2个Tomcat。
一、前期准备工作:安装用的程序APAHCE 2.2.4下载:apache_2.2.4-win32-x86-no_ssl.msiTOMCAT6.0.14下载:apache-tomcat-6.0.14.zip直接解压。
APACHE-tomcat连接器:mod_jk-apache-2.2.4.so远程下载:/Apache/tomcat/tomcat-connectors/jk/bina ries/win32/jk-1.2.23/mod_jk-apache-2.2.4.so二、安装过程APAHCE安装目录:C:\Program Files\Apache Software Foundation\Apache2.2,下称dirApache。
两个TOMCAT目录:自行解压到dirTOMCATA和dirTOMCATB即可。
这两个安装过程就不详细说明了。
mod_jk-apache-2.2.4.so复制到APACHE安装目录下的modules目录(dirApache\modules)。
三、配置1、Apache配置1.1、 workers.properties配置在dirApache\conf下新建一个workers.properties文件,用记事本打开workers.properties文件,写入如下内容:代码:worker.list=loadbalancerworker.loadbalancer.type=lbworker.loadbalancer.balanced_workers=tomcat2,tomcat1worker.loadbalancer.sticky_session=trueworker.loadbalancer.sticky_session_force=true# Set properties for tomcat1 (ajp13)worker.tomcat1.type=ajp13worker.tomcat1.host=127.0.0.1worker.tomcat1.port=8019worker.tomcat1.lbfactor=20worker.tomcat1.cachesize=1000worker.tomcat1.cache_timeout=600worker.tomcat1.socket_keepalive=1#worker.tomcat1.reclycle_timeout=300worker.tomcat1.local_worker=1worker.tomcat1.socket_timeout=0worker.tomcat1.retries=3# Set properties for tomcat2(ajp13)worker.tomcat2.type=ajp13worker.tomcat2.host=127.0.0.1worker.tomcat2.port=8029worker.tomcat2.lbfactor=80worker.tomcat2.cachesize=1000worker.tomcat2.cache_timeout=600worker.tomcat2.socket_keepalive=1#worker.tomcat2.reclycle_timeout=300worker.tomcat2.local_worker=1worker.tomcat2.socket_timeout=0worker.tomcat2.retries=3其中worker.tomcat1.type =ajp13和worker.tomcat2.type=ajp13这个要记住,要和Tomcat下配置对应。
tomcat概述

tomcat概述Tomcat概述Tomcat是一个开源的Java Servlet容器,由Apache软件基金会开发和维护。
它实现了Java Servlet和JavaServer Pages(JSP)规范,并提供了一个HTTP Web服务器环境,可以让开发人员在其上部署和运行Java Web应用程序。
Tomcat是使用Java语言编写的,因此它可以在任何支持Java虚拟机(JVM)的平台上运行。
Tomcat的特点1. 开源免费:Tomcat是一款完全免费且开源的软件,任何人都可以自由地下载、使用和修改它。
2. 轻量级:Tomcat非常轻量级,只需要很少的系统资源就可以运行,并且它非常容易安装和配置。
3. 易于扩展:Tomcat提供了很多可定制的选项,使得开发人员可以根据自己的需要扩展和定制Tomcat的功能。
4. 稳定可靠:由于Tomcat经过了长时间的测试和改进,因此它非常稳定可靠,并且能够处理大量并发请求。
5. 安全性高:Tomcat提供了很多安全性选项,包括SSL/TLS加密、访问控制、认证等等,使得Web应用程序更加安全可靠。
6. 跨平台性强:由于Tomcat是使用Java语言编写的,因此它可以在任何支持Java虚拟机(JVM)的平台上运行,包括Windows、Linux、Mac OS等等。
Tomcat的架构Tomcat的架构分为三个层次:1. Web层:Web层是Tomcat最外层的一层,它负责处理HTTP请求和响应,并将请求转发给下一层进行处理。
2. Servlet/JSP容器层:Servlet/JSP容器层是Tomcat中间的一层,它负责管理Servlet和JSP组件,并将它们编译成可执行代码。
此外,Servlet/JSP容器还负责管理会话、Cookie、请求转发等功能。
3. 连接器/底层服务层:连接器/底层服务层是Tomcat最底部的一层,它负责处理网络连接和数据传输。
连接器/底层服务可以使用不同的协议来处理网络连接,比如HTTP、HTTPS、AJP等等。
Apache与tomcat的整合、负载均衡和加入启动和系统服务

Apache与tomcat的整合及负载均衡系统环境:Windows Server 2021 R2 SP1虚拟机环境:Red Hat Enterprise Linux Server release 5.4 (Tikanga) X64安装软件版本:JDK:1.6.0_19 Tomcat: Apache: JK:实施步调:一、安装软件。
1tar -xz2345./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=most--with-mpm=worker6make7make install89/jk/native/1011./configure --with-apxs=/usr/local/apache2/bin/apxs12make13make install二、配置整合及负载均衡1 cp / /usr/local/apache2/modules2配置环境变量vi /etc/profile在文本末尾参加以下内容JAVA_HOME=JDK安装路径CATALINA_HOME=tomcat安装路径CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.PATH=$JAVA_HOME/bin:$PATHexport JAVA_HOME CATALINA_HOME CLASSPATH PATH3应用初始的环境变量source /etc/profile4点窜以下几处而且在末尾加上:Include /usr/local/apache2/conf/ 5添加及设置vi /usr/local/apache2/增加以下内容#加载mod_jk ModuleJkLogLevel info载分配控制制器JkMount /* lb6添加及设置vi /usr/local/apache2/conf/添加以下内容worker.list = lb,tomcat1,tomcat2#server 列表#========tomcat1========worker.tomcat1.port=8009#ajp13 端标语,在tomcat下server.xml配置,默认8009#tomcat的主机地址,如不为本机,请填写ip地址worker.tomcat1.type=ajp13worker.tomcat1.lbfactor = 1#server的加权比重,值越高,分得的请求越多#========tomcat2========worker.tomcat2.port=8009#ajp13 端标语,在tomcat下server.xml配置,默认8009#tomcat的主机地址,如不为本机,请填写ip地址worker.tomcat2.type=ajp13worker.tomcat2.lbfactor = 1#server的加权比重,值越高,分得的请求越多#========controller,负载均衡控制器========worker.lb.type=lbworker.lb.balanced_workers=tomcat1,tomcat2#指定分担请求的tomcatworker.lb.sticky_session=17、将JSP文件放入/usr/local/tomcat/webapps/ROOT8 启动apache和tomcat8 翻开浏览器输入就是这么简单。
CentOS5.3编译安装mod_jk 1.2.15 链接器 整合apache httpd和tomcat

重新启动Apache和Tomcat。。。
[root@localhost bin]# ./shutdown.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
###### Where to put jk logs
JkLogFile /usr/local/apache2/logs/mod_jk.log
###### Set the jk log level [debug/error/info]
JkLogLevel info
###### Select the log format
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
-------------------
worker.list=worker1
####### Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
Using JRE_HOME: /usr/java/jdk1.7.0
mod_jk

1 mod_jk 模块的总体功能
由于 tomcat 的 HTTP 处理部分都由 Java 所写(5.5.12 版本以后出现了 native 库,用以 提高其 I/O 和 SSL 的性能[1]),在高并发的情况下负载较高。而 apache 对于静态文件的处 理能力比 tomcat 强,所以 tomcat 开发组开发了与 apache 结合使用的 mod_jk 模块。该协议 由 apache 作请求代理,将 HTTP 协议的请求转化为 AJP 协议包,并传给后端的 tomcat。mod_jk 和 apache 现在普遍使用 AJP1.3 协议[2]。它是一个二进制格式的协议,比 字符格式的 HTTP 协议解析速度要快。
由于 apache 的基本处理方式(prefork 和 worker 模式)就是一个线程/进程负责一个 连接,所以 mod_jk 各线程中对于网络 IO 处理都是阻塞的。
2.2 worker 对象
从具体的 worker 对象的角度来讲,mod_jk 由 ajp_worker、jni_worker、lb_worker 和 status_worker 组成。这些对象参考了设计模式中 factory 的模型。每类 worker 都有生产 workers 的 factory。
/* 初始化及合并 jk 模块的配置结构体*/
jk_cmds,
/* 所有在 apahce 中的命令及操作函数 */
jk_register_hooks
/* 具体的操作函数处理钩子 */
};
3.1.2 mod_jk 模块的主要处理函数
/* mod_jk 将各处理函数挂到相应的钩子上,钩子实际上就是一些函数指针。针对某个 HTTP 请求,这些函数会自上而下执行。*/
Tomcat配置文件详解

Tomcat配置⽂件详解打开Tomcat的配置⽬录,我们会发现下⾯的配置⽂件:server.xml:Tomcat的主配置⽂件,包含Service, Connector, Engine, Realm, Valve, Hosts主组件的相关配置信息;web.xml:遵循Servlet规范标准的配置⽂件,⽤于配置servlet,并为所有的Web应⽤程序提供包括MIME映射等默认配置信息;context.xml:所有host的默认配置信息;logging.properties:⽇志相关配置;tomcat-users.xml:Realm认证时⽤到的相关⾓⾊、⽤户和密码等信息;Tomcat⾃带的manager默认情况下会⽤到此⽂件;在Tomcat中添加/删除⽤户,为⽤户指定⾓⾊等将通过编辑此⽂件实现;catalina.policy:Java相关的安全策略配置⽂件,在系统资源级别上提供访问控制的能⼒,以安全模式启动Tomcat会使⽤这个配置catalina.properties:Tomcat内部package的定义及访问相关的控制,也包括对通过类装载器装载的内容的控制;Tomcat在启动时会事先读取此⽂件的相关设置;jaspic-providers.xml:⽤户认证配置⽂件这篇博客就来介绍下这⼏个配置⽂件的作⽤,以及常⽤的配置选项。
server.xml配置server.xml是Tomcat的主配置⽂件,可以对Service, Connector, Engine, Realm, Valve, Hosts等主组件进⾏相关配置。
<!-- port: 接收shutdown指令的端⼝,默认仅允许通过本机访问,默认为8005;shutdown:发往此Server⽤于实现关闭tomcat实例的命令字符串,默认为SHUTDOWN;使⽤⽅式:telnet localhost 8005,输⼊SHUTDOWN即可关闭tomcat如果你不配置这两个属性,Tomcat的这种关闭机制还是会运⾏的。
Ubuntu16.04LTS下安装apache2+php7.0+mysql+phpmyadmin

先说一下,我用的是现在最新版的UBuntu16.04LTS操作系统刚开始接触UBuntu,在网上看到很多安装教程但都是旧版,照着搭了一次出现各种问题都不成功,这次根据我前次失败,自己搭个WEB服务器,做这个教程一是为了给自己做个记录,二是分享给和我一样刚开始接触UBuntu的朋友。
1.安装Apache2,打开终端输入命令:sudo apt-get installapache2回车,输入Y回车如图所视:就这么简但apache2就装完了,输入:sudo /etc/init.d/apache2 restart,回车重启apache,这是为了启动apache打开浏览器,输入127.0.0.1或着localhost,如图所视出现apache2此页面说明您已经安装成功,服务器也已经正常启动。
2.安装php先说一点现在的php都是7.0,不要想php5了。
瞧这张图上已经告诉我们了,它找不到php5所以在这里终端输入:sudo apt-get install libapache2-mod-php7.0 php7.0回车,输入Y回车输入php -v查看一下php的版本,如图所视输入sudo /etc/init.d/apache2 restart回车,重启一下apache输入sudo gedit /var/www/html/test.php,回车,在apache的站根目录下新建一个.php的测试页在测试页里输入“<?php phpinfo(); ?>”如图所视在浏览器中输入php测试页所在地址:127.0.0.1/test.php,如果您看这个页面说明php已经安装成功。
3.安装mysql数据库在终端输入:sudo apt-get install mysql-server mysql-clisent,回车后您将看到如图画面,这还是一样Y回车这里是输入mysql数据库管理员root的登陆密码重复一次刚才您输入的mysql数据库管理员root的密码,确定输入mysql -V (大写V)查看mysql版本4.安装phpmyadminUBuntu自带安装版的phpmyadmin,但是当我安装完后出现异常情况,这里写出来是为了分享给大家,希望在您遇到和我一样问题时能有所帮助。
Linux平台Apache高可用双机集群Tomcat负载均衡集群配置手册

Linux平台Apache双机高可用集群+ Tomcat负载均衡集群配置手册在这个配置手册中,使用的操作系统和软件清单如下:操作系统:RedHat Enterprise Linux AS4 U4 64bit(安装时最好选择完全安装)软件:jdk-1_5_0_15-linux-amd64.binTomcat5.5.26httpd-2.0.63.tar.gzjakarta-tomcat-connectors-jk2-src-current.tar.gzipvsadm-1.24.tar.gzlibnet.tar.gzheartbeat-2.1.3-3.el4.centos.x86_64.rpmheartbeat-pils-2.1.3-3.el4.centos.x86_64.rpmheartbeat-stonith-2.1.3-3.el4.centos.x86_64.rpm因为是linux操作系统,所以在安装软件时请使用对应自己操作系统内核的软件,这是整个集群成功的第一步。
本配置手册中的软件都是对应RedHat Enterprise Linux AS4 U4 64bit 这个版本的软件。
jdk-1_5_0_15-linux-amd64.binJAVA环境包使用的是64位1.5版Tomcat版本为公司指定的5.5版本Apache为2.0.63版jakarta-tomcat-connectors-jk2-src-current.tar.gz是连接Apache和Tomcat的连接插件,具体可以去Tomcat网站上查找下载ipvsadm-1.24.tar.gzlibnet.tar.gz这两个是用于2台Apache服务器虚拟一个IP地址使用heartbeat-2.1.3-3.el4.centos.x86_64.rpmheartbeat-pils-2.1.3-3.el4.centos.x86_64.rpmheartbeat-stonith-2.1.3-3.el4.centos.x86_64.rpm这3个软件是用于2台Apache服务器之间的心跳检测结构图Apache1以以以以以Tomcat1Tomcat2Apache22台Tomcat服务器使用Tomcat软件可以自己做集群,2台Apache服务器需要其他的软件实现虚拟服务器功能,工作站访问虚拟IP地址访问2台Apache服务器,再通过Apache服务器访问Tomcat服务器第3 页总13 页1.安装JAVA环境包1)输入命令:./ jdk-1_5_0_15-linux-amd64.bin执行完毕后,会在当前目录下生成一个JDK-1.5.0_15的文件夹2)在 /usr/local/下新建一个名字为JAVA文件夹,将个JDK-1.5.0_15的文件夹拷入到该文件夹下3)设置环境变量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Apache+tomcat集群+session复制作者:吴钢奇时间:2010/09/23MSN:w7374520@目标:在服务器上搭建1个apache+4个tomcat应用,tomcat之间实现session复制。
Tomcat解析所有的网页,apache此刻的作用就是做代理。
参考了很多网上好文档,非常感谢前人无私奉献,谢谢!1、环境硬件:一个四核3.0CPU,4G内存,200GSATA硬盘系统:Redhat AS 5.3源码包下载:1、Httpd下载/apache//httpd/httpd-2.2.16.tar.gz2、Tomcat下载//tomcat/tomcat-7/v7.0.2-beta/bin/apache-tomcat-7.0.2.tar.gz3、mod_jk 下载地址:/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.30/tomcat-connectors-1.2.30-src.tar.gz2、安装apache[root@adman ~]# cd /usr/local/src/ #进入源码包下载目录,这个可以随便定[root@adman src]# tar zxvf httpd-2.2.16.tar.gz #解压缩[root@adman src]# cd httpd-2.2.16 #进入解压目录[root@adman httpd-2.2.16]# ./configure --prefix=/usr/local/apache2 \> --enable-cache \ #configure参数根据自己的需要添加> --enable-mem-cache \ —可以使用help获得相关参数> --with-mpm=prefork \> --enable-so \> --enable-rewrite \> --enable-ssl[root@adman httpd-2.2.16]# make #编译[root@adman httpd-2.2.16]# make install #安装[root@adman httpd-2.2.16]# cd /usr/local/apache2[root@adman apache2]# vim conf/httpd.conf52 # LoadModule foo_module modules/mod_foo.so53 LoadModule jk_module modules/mod_jk.so #添加jk模块,模块是编译jk1.2.30得到106 DocumentRoot "/usr/local/webapps" #修改文档主目录133 <Directory "/usr/local /webapps"> #修改文档主目录146 Options Indexes FollowSymLinks158 Order allow,deny159 Allow from all160161 </Directory>416 Include conf/mod_jk.conf #添加jk配置文件,在末尾直接添加如果apache日志出现: session cache no configuration 警告信息请添加下面两行。
可以解决。
417 SSLSessionCache "shmcb:/usr/local/apache2/logs/ssl_scache(512000)"418 SSLSessionCacheTimeout 300[root@adman apache2]# service httpd start #测试是否可以正常启动,看日志是否有报错[root@adman apache2]# netstat -naptl|grep 80 #查看80端口是否启动3、安装jk模块[root@adman apache2]# cd /usr/local/src/ #进入下载目录[root@adman src]# tar zxvf tomcat-connectors-1.2.30-src.tar.gz #解压缩[root@adman src]# cd tomcat-connectors-1.2.30-src #进入目录[root@adman tomcat-connectors-1.2.30-src]# cd native/ #进入native,必须的[root@adman native]# pwd #查看绝对路径/usr/local/src/tomcat-connectors-1.2.30-src/native[root@adman native]# ./configure --with-apxs=/usr/local/apache2/bin/apxs #指定apxs路径[root@adman native]# make #编译,但是不需要安装,我们需要的只是mod_jk.so模块而已,这一步已经生成了。
但是我不知道它生成的位置,使用find查找[root@adman native]# find /usr/local/src/tomcat-connectors-1.2.30-src -name mod_jk.so #找so/usr/local/src/tomcat-connectors-1.2.30-src/native/apache-2.0/.libs/mod_jk.so/usr/local/src/tomcat-connectors-1.2.30-src/native/apache-2.0/mod_jk.so[root@adman native]#cp-ar apache-2.0/mod_jk.so/usr/local/apache2/modules/#找到mod_jk后拷贝到apache目录中的module下。
到httpd.conf添加一行加载模块,这个上面已经做了LoadModule jk_module modules/mod_jk.so四、安装tomcat[root@adman native]# cd /usr/local/src/[root@adman src]# tar zxvf apache-tomcat-7.0.2.tar.gz[root@adman src]# cp -ar apache-tomcat-7.0.2 /usr/local/apache-tomcat-7.0.2-lb1[root@adman src]# cp -ar apache-tomcat-7.0.2 /usr/local /apache-tomcat-7.0.2-lb2[root@adman src]# cp -ar apache-tomcat-7.0.2 /usr/local /apache-tomcat-7.0.2-lb3[root@adman src]# cp -ar apache-tomcat-7.0.2 /usr/local /apache-tomcat-7.0.2-lb4[root@adman src]# vim /usr/local/adsit/apache-tomcat-7.0.2-lb1/conf/server.xml修改第一处:修改关闭tomcat端口,第一个默认为8005,第二个修改为8006,第三个修改为8007,第四个修改为8008修改第二处:修改tomcat提供服务端口,默认为8080。
第一个修改为8081,第二个修改8082,第三个修改8083,第四个修改8084修改第三处:此处的端口是workers.properties文件中的port,作用是apache连接tomcat的连接端口。
第一个修改过为8010,第二个修改8020,第三个修改8030,第四个修改8040修改第四处:修改tomcat网站文件存放主目录的路径修改第五处:在</Host>前面添加两行context代码,这段代码的意思是说在"/usr/local/webapps"目录下有目录,是两个工程。
/代表访问admin目录,访问方式:http://ip /site代表访问test目录,访问方式:http://ip/test[root@adman src]# cat /usr/local/adsit/tomcat-start7.sh #测试4个tomcat启动是否正常source /etc/profile#/usr/local/apache2/bin/apachectl start/usr/local/adsit/apache-tomcat-7.0.2-lb1/bin/startup.sh/usr/local/adsit/apache-tomcat-7.0.2-lb2/bin/startup.sh/usr/local/adsit/apache-tomcat-7.0.2-lb3/bin/startup.sh/usr/local/adsit/apache-tomcat-7.0.2-lb4/bin/startup.shsleep 20s/usr/local/apache2/bin/apachectl start[root@adman src]# netstat -naptl |more #查看是否有8081、8082、8083、8084tcp 0 0 :::8081 :::* LISTEN 4410/javatcp 0 0 :::8082 :::* LISTEN 4427/javatcp 0 0 :::8083 :::* LISTEN 4437/javatcp 0 0 :::8084 :::* LISTEN 4461/java5、利用mod_jk关联apache和tomcat到http.conf中添加,我们上面已经添加,就是使用Include参数指定mod_jk路径[root@adman src]# vim /usr/local/apache2/conf/mod_jk.conf #新建并配置这个文件JkWorkersFile conf/workers.properties #JkLogFile logs/mod_jk.log #记录日志JkLogLevel error #日志级别JkShmFile logs/mod_jk.shm #内存共享文件JkMount /*.* balancer #加载根目录所有的文件,balancer可以随便取名JkMount /adman/*.* balancer 只是需要worker.list=balancer一致即可JkMount /digieq/*.* balancer你可以从/usr/local/src/tomcat-connectors-1.2.30-src/conf/workers.properties中拷贝到apache的conf中,自己也可以新建。