使用
apache2.2.4+tomcat6+terracotta2.7.0-stable0
进行集群.
1.
<!---->apache2.2.4+tomcat6+ssl
的整合
,
我是使用
mod_JK
整合的
,mod_JK
为
mod_jk-1.2.26-httpd-2.2.4.so
(1).
安装
apache2.2.4,
我使用的是
apache_2.2.4-win32-x86-openssl-0.9.8d.msi
来安装的
.
(2).
配置
apache.
先将
mod_jk-1.2.26-httpd-2.2.4.so
复制到
<APACHE_HOME>\modules
中
.
修改
<APACHE_HOME>\conf\httpd.conf
文件
,
加入
:
LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkMount /* loadbalancer
JkMount /*.action loadbalancer
JkMount /*.html loadbalancer
在
<IfModule dir_module>
标签中加入
login.jsp.
为了支持
ssl,
还要去掉
LoadModule
ssl_module modules/mod_ssl.so
行的注释和Include conf/extra/httpd-ssl.conf行
的注释
.
在
<APACHE_HOME>\
conf
目录下创建
workers.properties
文件
,
改文件的配置为
:
worker.list=loadbalancer
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=9009
worker.worker1.lbfactor=5
worker.worker1.redirect=worker2
worker.worker2.type=ajp13
worker.worker2.host=localhost
worker.worker2.port=10009
worker.worker2.lbfactor=5
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=worker1,worker2
为了支持
ssl
修改
<APACHE_HOME>\conf\extra
目录下的
httpd-ssl.conf
文件
,
修改
certificate
file
为
SSLCertificateFile <APACHE_HOME>/conf/blarg.cert,
修改
keyfile
为
SSLCertificateKeyFile
<APACHE_HOME>/conf/blarg.key,
还要配置
ssl
的
mod_JK,
加入以下内容到该文件
:
JkMount /* loadbalancer
JkMount /*.action loadbalancer
JkMount /*.html loadbalancer
使用
openssl
工具生成
blarg.cert
和
blarg.key
文件放到
<APACHE_HOME>\conf
目录下
,apache
部分配置完成
.
(3).
安装两个
tomcat
分别是
tomcat-1
和
tomcat-2,
配置
tomcat-1
和
tomcat-2.
配置
tomcat-1,
配置
<TOMCAT_HOME>\conf
下的
server.xml,
找到
Server
节点改为
<Server port="9005" shutdown="SHUTDOWN">
找到
Http
的
connector
节点改为
<Connector port="9080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9443" />
找到
ajp
的
connector
节点改为
:
<Connector port="9009" protocol="AJP/1.3" redirectPort="9443" />
加入
ssl
的
connector:
<Connector SSLEnabled="true" acceptCount="100"
clientAuth="false" disableUploadTimeout="true" enableLookups="true"
keystoreFile="server.keystore" keystorePass="changeit"
maxSpareThreads="75" maxThreads="200" minSpareThreads="5" port="9443"
scheme="https" secure="true" sslProtocol="TLS" />
找到
Engine
节点改为
:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="worker1">,
jvmRoute
为
session_sticky
的关键一定要对应
workers.properties
的
worker
名
.
生成
server.keystore
文件放入
<TOMCAT_HOME>
下
.
配置
tomcat-2,
配置
<TOMCAT_HOME>\conf
下的
server.xml,
找到
Server
节点改为
<Server port="10005" shutdown="SHUTDOWN">
找到
Http
的
connector
节点改为
<Connector port="10080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="10443" />
找到
ajp
的
connector
节点改为
:
<Connector port="10009" protocol="AJP/1.3" redirectPort="10443" />
加入
ssl
的
connector:
<Connector SSLEnabled="true" acceptCount="100"
clientAuth="false" disableUploadTimeout="true" enableLookups="true"
keystoreFile="server.keystore" keystorePass="changeit"
maxSpareThreads="75" maxThreads="200" minSpareThreads="5" port="10443"
scheme="https" secure="true" sslProtocol="TLS" />
找到
Engine
节点改为
:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="worker2">
生成
server.keystore
文件放入
<TOMCAT_HOME>
下
.
<!---->2.
<!---->整合两个
tomcat6
和
terracotta
我使用的是
terracotta2.7.0-stable0.
因为
terracotta
的官方稳定版本
2.6.2
用在我们项目中是有
bug
的
,
当启动
tomcat
会有
java.lang.NoSUchFieldError:DSO
异常
.
(1).
安装
terracotta
我使用的安装文件是
terracotta-windows2.7.0-stable0.exe.
生成自己项目的
boot-jar,
到
<TERRACATTA_HOME>
\lib\dso-boot
的删除所有
jar
文件
,
然后转到命令行
,
进入
<TERRACATTA_HOME>\bin
下
,
使用以下命令行命令生成我们项目的
boot-jar:
make-boot-jar –f
tc-config.xml
该
tc-config.xml
文件是我给的那个
tc-boot-jar.xml
文件
的位置.
在每个
<TOMCAT_HOME>\bin
目录下新建一个
setenv.bat
文件
,
加入以下配置
:
set TC_INSTALL_DIR=<TERRACOTTA_HOME>
set TC_CONFIG_PATH="localhost:9510"
call %TC_INSTALL_DIR%\bin\dso-env.bat -q
set JAVA_OPTS=%TC_JAVA_OPTS% %JAVA_OPTS%
(2).
启动
terracotta
和
tomcat
转到命令行
,
进入
<TERRACOTTA_HOME>\bin
目录下
,
使用以下命令行命令运行
terracotta
start-tc-server
-f
tc-config.xml
该
tc-config.xml
文件为我给的
tc-config.xml
文件的位置
.
双击
startup.bat
启动
tomcat
就可以了
.
正常的话
,
应该在
admin console
中看两个
client
和一个
server
了
.
二
.
新加一个
tomcat.
1.
配置
apache.
在
wokers.properties
中加多个
worker
为
worker3,
现在
workers.properties
文件内容变为
worker.list=loadbalancer
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=9009
worker.worker1.lbfactor=5
worker.worker1.redirect=worker2
worker.worker2.type=ajp13
worker.worker2.host=localhost
worker.worker2.port=10009
worker.worker2.lbfactor=5
worker.worker2.redirect=worker3
worker.worker3.host=localhost
worker.worker3.port=11009
worker.worker3.lbfactor=5
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=worker1,worker2, worker3
然后新加入一个
tomcat
为
tomcat-3,
修改
tomcat3
的
server.xml
文件为相应的端口
,
同上面的修改差不多相同
,
然后重启
apache.
再启动
tomcat-3
就可以了
.
现在就有三个节点了.
分享到:
相关推荐
Apache 2.2、mod_JK、Tomcat 7 和 Terracotta 3.7 是构建高可用性和可伸缩性Web应用集群的关键组件。这个集群解决方案旨在通过将负载分散到多个服务器上,提高应用程序的性能和稳定性。下面将详细阐述这些组件以及...
- **Apache Tomcat**:推荐使用Terracotta官方支持的版本,如Apache Tomcat 6.0.18、5.5.26或5.0.28。 - **Terracotta**:建议使用3.0或更高版本。 - 在所有参与集群的机器上安装Java环境。 2. **安装Terracotta...
Apache 和 Tomcat 分布式集群配置详解 在高并发、高可用性要求的环境中,单一的服务器往往无法满足业务需求,这时我们需要构建分布式集群来提升系统性能和稳定性。Apache 和 Tomcat 的组合是常见的Web服务架构,...
本文档详细介绍了如何通过Apache作为负载均衡器来实现Tomcat集群的搭建,并利用Terracotta实现Ehcache的集群配置,以增强系统的故障恢复能力和数据共享功能。 #### 二、环境准备 在开始配置之前,需要准备以下软件...
2. **会话共享**:在Tomcat集群中,为了让用户的会话信息在各个Tomcat实例间共享,需要配置会话复制机制,通常使用Tomcat自带的会话管理功能或借助第三方解决方案,如Terracotta等。 3. **数据共享**:如果应用中...
对于Apache Tomcat这样的Web服务器,需要配置Terracotta的连接器(如tc-server.jar)并启用Terracotta Session管理。在`server.xml`配置文件中,添加`<Manager className="org.terracotta.session.tomcat.Tomcat ...
这个学习文档着重讲解了如何利用 Terracotta 实现 Web 应用程序的集群部署,特别是与 Apache Tomcat 服务器的集成,以实现 session 复制和负载均衡。 1. **引言** Terracotta 学习文档的目的是教导读者如何利用其...
3. Web容器:例如Apache Tomcat 6.x,用于部署QuartzWeb工程。 4. 确保JDK版本至少为1.5。 配置步骤如下: 1. 在两台服务器上安装Terracotta,将`terracotta-3.5.0.tar.gz`解压到同一目录。 2. 创建`tc-config....
8. **开源框架**:例如Apache Mesos、Hazelcast、Terracotta等,它们提供了一套完整的解决方案,简化了Java集群的搭建和管理。 9. **微服务架构**:随着微服务理念的普及,Java集群更倾向于由小型、独立的服务组成...
Porting from Tomcat Jetty版本比较列表 参考 Jetty 7 Latest JavaDoc Jetty 7 Latest Source XRef Index of Generated Release Documents–API and XRef documentation for previous releases. 通用参考 Jetty体系...
- Terracotta DSO集成:提供内存共享机制,提高集群环境下的性能。 - 高级缓存:包括页面缓存、负载均衡、会话复制和分布式缓存等机制。 - 静态内容导出:允许将部分静态内容导出到外部存储,减少服务器负载。 - ...