本文总结在信创项目中,使用最多的中间件:东方通、宝兰德。
在安装中间件之前,应先在服务器创建一个应用用户,这里并不是说不能用root用户安装,开发环境和测试环境可以直接安装,但是生产上是无特殊情况是不提供root用户的。为了避免因为用户差异导致的文件执行问题,这里先创建一个用户,上线时,可以保证我们的操作一致,以及后续方便排查部署过程中可能产生的报错。
安装前准备
创建中间件用户
在应用服务器上使用root用户
|
|
hosts配置
|
|
修改文件打开最大数
说明:此步骤,安装东方通时可跳过的,宝兰德需要操作(以我接触的项目情况是这样的)
|
|
保存后重新连接服务器
|
|
配置JDK
没有则安装,一般信创的机器是自带的。但是有时候,为了确保这个版本的JDK是中间件以及应用服务都可用,采用自己安装,多为安装 JDK1.8 版本(自己安装需要上传jdk到服务器并解压tar包)
|
|
已经有了,则可以直接配置环境变量,当然,得知道路径才能配置环境变量
|
|
最下边返回的,就是 JDK 真是的安装路径
找到JDK安装路径后,添加环境变量:
|
|
配置好环境变量后,就可以进行中间件的安装了
东方通部署应用
东方通中间件部署应用的详细步骤,从东方通安装到管理控制台配置的过程。
东方通的安装
东方通在LINUX上安装,需要通过命令的方式安装。(PS:这个已经是22年的版本了,当时接触东方通的时候,安装包是一个.bin文件,但是到了23年,东方通的安装包基本都是提供一个tar包,安装只需要解压tar包即可。方便很多,但是既然是自己安装的中间件,当然要记录啦)
bin包安装
|
|
|
|
|
|
|
|
|
|
|
|
回车后就安装完成了。
tar包安装
提供的tar包,只需要解压到目标目录即可。当然,tar有多种压缩格式,最常碰见的就是 tar.gz
|
|
授权
将安装后的目录,授权给中间件用户
|
|
启动配置
以下常见配置,均为在项目上能够实际遇到的
修改端口
根据客户要求,或者应用要求,配置我们的应用端口。(如果是使用默认端口则不需要修改)
|
|
关闭防火墙
在启动东方通控制台之前,需要关闭防火墙,否则操作机器无法访问到控制台地址。(在第一次接触东方通的时候,当时服务已经启动了,但是打不开控制台,我还以为是网络没打通,结果一查是防火墙导致)
|
|
启停服务
|
|
打开控制台
|
|
控制台配置
修改服务器可选目录
此步骤是确保在部署应用的时候,可以访问到应用所在的位置,不然找不到
JDBC 配置
JDBC配置就是让中间件连接到数据库,让应用能够与数据库进行交互。
需要注意的地方:
- 达梦JDBC驱动,最好使用新版,或者应用做了适配的版本。
- JDBC连接名称,需要与应用中的
jndiName
一致,一般的java服务会有一个xml
文件配置dispatcher-servlet
的地方,否则可能会报错在应用中找不到jndiName
。特别是在做信创迁移的时候,会出现一种情况:tomcat里使用的jndiName与东方通里使用的jndiName名称不一致,此时需要注意修改为一致。
另外,基于项目经验猜测,基于 webbuilder 的框架,都有 WEB-INF/dispatcher-servlet.xml 文件,同样的,也会有变量配置,变量配置可能是落到数据库中,也可能使用 var.json
文件进行配置。差异不大,都是会有 jndiName 的配置
部署应用
如果没有【3.1修改服务器可选目录】,这里是访问不到应用所在的目录的
点击开始部署,一般这里没什么多大的问题,都取默认即可。
访问应用
|
|
多种部署情况说明
一个东方通部署多个应用
遇到过客户为了节省开发环境或者测试环境的资源,会让我们在一个东方通部署多个应用(就是与其他应用共享资源)。对于不同的应用,是可以的。
针对是部署相同的应用,需要
- 建立新的连接池,修改
jndiName
,以防应用访问错数据库
直接部署
直接部署则按照【3.1-3.3】步骤,部署应用即可
注意:直接部署,东方通是按顺序拉起应用的,启动会慢一些,并且公用 IP 和 PORT ,东方通服务停掉会影响所有应用。
域部署
通过创建域,让各个应用启动和配置不相互影响。使用 TONGWEB_HOME/bin
下的启停命令不会影响到域里边的应用,域里的应用独立启停和配置,且端口不会冲突
|
|
设置connection-timeout
有些客户,在扫描整体的安全漏洞时,会检测到目标主机可能存在缓慢的 HTTP 拒绝服务攻击,这个就是中间件里配置connection-timeout即可。
简单来说,通过发送大量的慢速或低频率的 HTTP 请求来占用目标服务器的资源,导致服务器的连接和内存资源被恶意连接占满,无法处理新的合法请求。
tomcat 可以通过修改 server.xml
文件中的配置来设置 connectionTimeout
参数
|
|
同样的,在信创上,东方通中间件也可通过设置对应的请求,在 tongweb/conf/tongweb.xml 配置文件中,connection-timeout 对接的前台页面就是 http 通道里的 连接超时
,修改此处即可(默认 60000 » 改为 8000)
宝兰德部署应用
该步骤为宝兰德集群版本的安装步骤,非单实例。集群版本,需要配置节点、实例。实例的启动依赖于节点的启动,节点停止则实例停止。
正确的启动顺序:集群 » 节点 » 实例
宝兰德的安装
将安装介质放入服务器,并解压
|
|
如果有补丁,则需要升级补丁。将补丁包放到 patch 目录下,执行
|
|
初始化并启动
|
|
配置中间件
访问管理控制台
|
|
添加主机
进入控制台后,点击左侧主机管理,点击添加: 填写名称、主机IP、用户名、密码,信息如图
可以点击ping,测试是否能连接。不能ping通请检查IP、用户、密码是否正确。
添加节点
点击左侧节点管理,新建
填写节点名称、节点目录(默认填宝兰德的安装目录),JAVA_HOME可默认不填
保存后,启动它。
点击节点,进入节点的配置界面,将【启动所有实例、停止所有实例】打勾后保存(这个操作可以在启动节点的同时自动启动实例)
创建集群
点击左侧集群管理,点击新建:填写个集群名称即可。保存后选中该集群然后点击启动。
创建实例
点击左侧实例管理,点击新建:填写如图信息保存即可
修改实例端口
点击实例 - 系统属性 http-listener-1_port:修改为8080(这个是http协议访问) http-listener-2_port:(这个是https协议访问,如需要此访问请更改)
OK,到这里就是宝兰德的基础配置就结束了。
后边可以进行应用的部署了。
部署应用注意项
BES集群下有实例,应用是在实例中生效的,所以改动应用的时候请直接到实例目录下的application目录下去改。每部署一次应用,就会拷贝一次应用目录到它的实例node/application下。
重启实例出现某个实例启动失败
在应用无报错的前提下,4个实例,正常重启实例,会出现1个或者2个实例启动报错。从应用的错误日志中查看原因,会出现一些连接不上数据源的报错,导致实例的错误日志会抛出应用错误。
由于数据源连接数量太少导致,每个实例都需要一定的连接数。此时,需要到中间件的JDBC数据源配置处,修改池的连接数。生产环境上修改为默认的两倍数据,实例均正常启动。后续如果出现此情况,可根据实际情况,扩大连接数即可。