概述
第 1 章 中间件概述
文档为普通机型中间件(企业版)的安装到使用及使用中的操作和问题解决而编写。
规范
中间件遵循 JavaEE6 规范的企业级应用服务器 **组件支持规范:**JSP2.2,Servlet3.0,JSF2.0,JSTL1.2,EJB3.1,EL2.2,Debugging Support for Other Languages1.0,Common Annotations for the Java Platform 1.1,JPA2.0,Bean Validation 1.0 ,Managed Beans 1.0,Interceptors 1.1,CDI 1.0,Dependency Injection for Java 1.0,JMS1.1 ,JCA1.6。 **资源和服务支持规范:**JTA1.1,JDBC 4.0。**协议支持规范:**HTTP1.1,RMI。 **安全支持规范:**JAAS1.0。
安装要求
第 2 章 中间件安装使用
**JAVA 环境:JDK1.6 以上内存:**512M 以上
**磁盘空间:**512M 以上空间
安装
以在 Linux 下字符界面为例说明 TongWeb6.1 的安装过程:
安装包拷贝到服务器并赋可执行权限。
执行命令./Install_TW6.1.*.*_Enterprise_Linux.bin -i console 开始安装。
输入“Y”,确认接受本协议。
选择一个本机安装的 java VM,例如/opt/tongtech/jdk1.8.0.144/bin/java。
输入中间件安装目录(/opt/tongtech/TongWeb6.1)并回车,若使用缺省目录,直接回车。
输入“Y”,确认安装目录。
选择“4”,不用建立连接。
按回车执行安装过程,进度条走完,安装过程完成。
修改中间件使用的各端口号。
将 TongWeb6.1 的授权文件 license.dat 拷入中间件的根目录下,完成安装。
重要目录介绍
/opt/tongtech/TongWeb6.1/bin: 中间件启动脚本所在目录。
/opt/tongtech/TongWeb6.1/conf:中间件配置文件所在目录,例如 tongweb.xml。 /opt/tongtech/TongWeb6.1/deployment:应用以 war 包发布后所在目录。 /opt/tongtech/TongWeb6.1/logs:服务器存放日志文件目录,包括访问日志和服务器日志。 /opt/tongtech/TongWeb6.1/applications:系统应用所在目录。 /opt/tongtech/TongWeb6.1/Hazelcast:缓存所在目录(企业版所属目录)。 /opt/tongtech/TongWeb6.1/lib:服务器运行所需的类文件所在目录,以 jar 文件形式存在。
启动停止
中间件启动:sh 中间件安装目录
/bin/startservernohup.sh
登录控制台:浏览器中输入
http://IP:9060/console
用户名:twnt,密码:twnt123.com。
中间件停止: sh 中间件安装目录
/bin/stopserver.sh
注意:启动前需要设置 JAVA_HOME,可设置在
/etc/profile
中间件优化
中间件优化,请参考 TongWeb6 测试优化的要点.pdf,该文档记录了需要优化的项目和可能导致的若干问题。
应用部署
应用部署详细过程,请参考 TongWeb6.1 快速使用手册.pdf。注意:
应用(以 JCASecurity 为例)部署失败或解部署失败后,重新部署照样失败,解决办法:
打开中间件安装目录/tongweb.xml,如果有该应用的发布配置删除。
删除中间件安装目录/deployment 目录下如果有 JCASecurity 应用残余,删除掉。
JDBC 配置有残留导致配置数据源时失败, 打开中间件安装目录/tongweb.xml 找到对应的数据库连接池名称删除。
第 3 章 集中管理工具使用
3.1集中管理工具部署使用 此处以发改委实际环境为例进行说明:
分别安装四套 TongWeb6.1 到 4 台机器,IP 地址如下: 10.45.1.113:集中管理工具管理其他机器,安装目录/opt/tongtech/TongWeb6.1Admin 10.45.1.98 :被管理,安装目录/opt/tongtech/TongWeb6.1 10.45.1.99 :被管理,安装目录/opt/tongtech/TongWeb6.1 10.45.1.101:被管理,安装目录/opt/tongtech/TongWeb6.1
(1).分别拷贝 98,99,101 机器/opt/tongtech/TongWeb6.1/Agent 拷贝至/opt/tongtech/Agent
(2).修改/opt/tongtech/Agent/config/agent.xml
修改/opt/tongtech/Agent/config/agent.xml
masterIp:集中管理机器的 IP 地址(这里为 10.45.1.113)。 masterPort:集中管理机器管理控制台的端口号。
注意:其他详细配置请参考 TongWeb6.1 企业版用户手册.pdf
启动 98,99,101 的 Agent:
sh /opt/tongtech/Agent/bin/startbg.sh
停止 98,99,101 的 Agent:
sh /opt/tongtech/Agent/bin/stop.sh
分别启动 98,99,101,113 的 TongWeb6.1,请参考 2.4 章节。
登录 113 集中管理工具控制台:
控制台地址:http://10.45.1.113:9061/heimdall,用户名:twnt,密码:twnt123.com。
至此 98,99,101 的 Agent 会自动注册到集中管理控制台的节点代理中,98,99,101
TongWeb 会自动注册到集中管理控制台的服务器管理中。
集中应用部署
此处关于从 113 集中部署应用和数据源的详细步骤,请参考 TongWeb6.1 企业版用户手册.pdf 的 2.7 章节 JDBC 配置和 2.8 章节应用管理,这里重点介绍几个集中管理工具使用中可能会出现的问题。
(1).113 通过集中管理工具部署应用或数据源到 98,99,101 时如果部署失败,手动删除 113 集中管理工具中的数据源和应用配置。
113 集中管理工具中已部署应用的配置文件:
/opt/tongtech/TongWeb6.1Admin/applications/heimdall/masterConfig/application.xml
113 集中管理工具中已部署数据源的配置文件:
/opt/tongtech/TongWeb6.1Admin/applications/heimdall/masterConfig/jdbcpoolbean.xml
113 集中管理工具部署到 98,99,101 上数据源和应用配置等残余的删除参考 2.6 章节应用部署。
第 4 章 SESSION 复制功能
Hazelcast 配置
Session 复制需要手动配置 98,99,101 上/opt/tongtech/TongWeb6.1/Hazelcast/bin/hazelcast.xml,使 98,99,101 自动形成一个会话服务器集群,具体配置如图所示:
(1).<tcp-ip>标签内为会话服务集群的所有节点 ip 地址+端口号。
(2).<group>标签内缓存节点的组名和组密码用于将该缓存节点认证并加入到指定的缓存集群。
(3).<port>表示此缓存节点在此机器上的监听端口号,<port>的“auto-increment” 属性表示如果指定的端口号被占用则自动加 1 尝试新的端口号,该功能默认是打开的,将 “auto-increment”属性设为 false 可关闭该功能,< port >的“port-count”属性表示尝试的次数,它只有在开启“auto-increment”功能后才生效,默认尝试 100 次,如果尝试次数大于 100 后还未找到可用端口,Hazelcast 启动将会失败。
(4).<outbound-port>标签表示此 Hazelcast 节点连接集群中其它 Hazelcast 节点所使用的出站端口。
(5).<interface>标签表示本 Hazelcas 缓存节点的 IP 地址。 注意:其他详细配置,请参考 TongWeb6.1 企业版用户手册.pdf4.3 章节缓存集群 Hazelcast。
4.2Hazelcast 启动停止
Hazelcast 启动需要 java 运行环境,设定好环境变量 JAVA_HOME 后可通过各平台的启动脚本启动。
Hazelcast 启动:
sh /opt/tongtech/TongWeb6.1/Hazelcast/bin/nohupstartserver.sh Hazelcast
停止:
sh /opt/tongtech/TongWeb6.1/Hazelcast/bin/stopserver.sh
4.3应用 SESSION 高可用特性配置
在应用的 WEB-INF 目录下新建 tongweb-web.xml,加入以下配置:
配置说明:
(1).hazelcast-enabled:是否启用应用的 Session 高可用特性,默认值是 false 表示不启用,设置为 true 表示启用,启用后下面的配置才会生效。
(2).hazelcast-cluster-members:要连接到的缓存集群地址。
(3).hazelcast-group-name:要连接到的缓存集群组名称,用于连接到特定的缓存集群。 (4).hazelcast-group-password:要连接到的缓存集群组密码,用于连接到特定的缓存集群。
(5). hazelcast-uriignore:不保存在 session 里的资源类型,是一个正则表达式,默认值为 ".*\\.(png|gif|jpg|css|js)$"。
(6).hazelcast-asyncwrite:是否开启异步存储 session 功能,默认值 false 表示不开启。 (7).hazelcast-timeout:session 备份超时时间(单位:毫秒),默认值为 500。
(8). hazelcast-copysafe:对象序列化时是否使用集合对象的副本,默认 false 表示不使用,多线程应用中使用了非线程安全的集合族对象(例如 HashMap)时,推荐用户将此功能打开。
注意:其他详细配置,请参考 TongWeb6.1 企业版用户手册.pdf4.3 章节缓存集群 Hazelcast。
4.4验证 SESSION 复制功能
(1).启动负载、TongWeb、Hazelcast,无启动先后顺序要求。
(2).部署一个带 session 操作的应用,例如模拟用户登陆的应用。
(3).访问应用并登陆,通过 TongWeb6.1 日志看应用被分发到哪个 TongWeb6.1 上。
(4).停止此 TongWeb,再访问应用,请求被转发到另一个 TongWeb 上,此时应用应该还处于登陆状态。
(5).如果此时 session 信息丢失,说明 session 复制不成功,需重新检查配置。
注意:其他详细配置,请参考 TongWeb6.1 企业版用户手册.pdf4.3 章节缓存集群 Hazelcast。