实战培训

当前位置:首页>帮助手册>实战培训

O2OA二次开发-使用开源平台搭建完整OA(19)-系统上线之服务器集群设置

时间:2022-03-07   

O2OA是一款全开源的企业信息化开发平台,作为OA系统开发平台,O2OA着力于帮助企业降低信息化系统开发成本,帮助企业提升信息化能力。本系列主要以实战形式向大家介绍使用开源OA平台搭建一套协同办公系统的实际操作过程,让大家更好地了解O2OA平台的基本能力。

我们之前演示的都是在单服务器环境下,下面我们来配置集群环境.


集群的主要目的是实现负载均衡,失效转移


服务器配置建议: 4C8G/每1000活跃用户.


如果集团有2000活跃用户,那么建议使用两台机器.以此类推.


下面我们演示双机集群部署.


服务器准备


我们搭建两个服务器


trains1.o2oa.net


trains2.o2oa.net


数据库我们就使用在前一个章节配置的mysql数据库


这样我们的集群架构就是这个样子

O2OA集群结构.png

这个是一个集群环境,有两个节点,每个节点都分别启动了 web center,application三个服务器,共用一台数据库,这两个节点就构成了可以实现负载均衡的集群环境。


课前已经准备好了两台服务器,安装的是centos7的系统.由于我们O2OA服务器已经包含所有的依赖运行库,我们在centos上不需要安装其他软件.直接将o2oa服务器程序拷贝上去,解压就可以运行了.


配置服务器trains1.o2oa.net


进入到o2oa官网(https://o2oa.net) -> 平台下载

image (19).png

下载我们操作系统对应的介质,我们这里使用的是intel芯片,那么选择linux-x64的介质.

如果是龙芯,鲲鹏这样的国产主机,使用的是arm芯片,那么选择下载linux-arm.

如果是飞腾的主机,使用的是mips芯片,那么选择下载linux-mips.

下面我们直接登陆到服务器上进行下载.


之前在服务器上我们已经设置好了host文件,可以用域名访问服务器地址


172.16.91.120    traindb.o2oa.net
172.16.91.121    trains1.o2oa.net
172.16.91.122    trains2.o2oa.net





服务器程序是通过识别在config目录下的node_xxx.json文件来判断集群成员的,有node_trains1.o2oa.net.json和node_trains2.o2oa.net.json那么服务器程序就会识别到集群有两个成员.

当前服务器是哪个成员是通过在o2server目录 local/node.cfg进行识别的.

等一会儿我们需要用文本编辑器将内容改为trains1.o2oa.net 这样程序就能从node.cfg的内容'trains1.o2oa.net' 关联到节点配置文件 node_trains1.o2oa.net.json.


下载地址:http://mirror1.o2oa.net/download/o2server-6.4.4-linux-x64.zip


现在我们登陆到第一台服务器上:trains1.o2oa.net


#进入opt目录
cd /opt
#下载介质
wget http://mirror1.o2oa.net/download/o2server-6.4.4-linux-x64.zip
#解压介质到o2server目录
unzip o2server-6.4.1-linux-x64.zip
#进入目录
cd o2server
#创建config目录,服务器启动时也会自动创建,这里创建是为了直接拷贝配置文件
mkdir config
#复制node_127.0.0.1.json文件作为trains1节点的配置文件
cp configSample/node_127.0.0.1.json config/node_trains1.o2oa.net.json
#复制node_127.0.0.1.json文件作为trains2节点的配置文件
cp configSample/node_127.0.0.1.json config/node_trains2.o2oa.net.json
#创建local目录,服务器启动时也会自动创建,这里创建是为了直接拷贝配置文件
mkdir local
#拷贝node.cfg 作为本节点的节点名称标识文件.
cp localSample/node.cfg local/node.cfg


cd /opt
wget http://mirror1.o2oa.net/download/o2server-6.4.4-linux-x64.zip
unzip o2server-6.4.1-linux-x64.zip
cd o2server
mkdir config
cp configSample/node_127.0.0.1.json config/node_trains1.o2oa.net.json
cp configSample/node_127.0.0.1.json config/node_trains2.o2oa.net.json
mkdir local
cp localSample/node.cfg local/node.cfg


configSample目录存放的都是配置文件样例,本身并不生效,config下的配置文件才是生效的配置文件,在config目录下没有的配置将使用系统默认配置.


复制完成后我们通过sftp工具上传前个章节创建的数据库配置文件到trains1.o2oa.net服务器上


  1. 将文件 externalDataSources.json (上节课已经介绍过)上传到trains1.o2oa.net 服务器的/opt/o2server/config目录下.

  2. 修改 local/node.cfg的内容为trains1.o2oa.net  

  1. config/node_trains1.o2oa.net.json全部采用默认配置,不做修改.

  2. config/node_trains2.o2oa.net.json修改center节点的排序号为1.

  1. config/node_trains2.o2oa.net.json修改storage节点的name为252.

默认值

修改值

说明

center.order

0.0

1.0

center 节点顺序,服务器会按指定的顺序选举中心节点,用于同步所有服务器之间的任务调度.

storage.name

251

252

存储服务器的节点名称,需要在所有集群服务器间保持唯一.trains1.o2oa.net服务器默认是251,将trains2.o2oa.net的存储节点名称改为252.


到这里我们就完成了trains1.o2oa.net服务器的配置.


配置服务器trains2.o2oa.net


现在我们来配置第二台服务器


登陆到服务器上


  1. 下载介质.

  2. 创建默认配置文件.

  1. 修改配置.


#进入opt目录
cd /opt
#下载介质
wget http://mirror1.o2oa.net/download/o2server-6.4.1-linux-x64.zip
#解压介质到o2server目录
unzip o2server-6.4.1-linux-x64.zip
#进入目录
cd o2server
#创建config目录,服务器启动时也会自动创建,这里创建是为了直接拷贝配置文件
mkdir config
#复制node_127.0.0.1.json文件作为trains1节点的配置文件
cp configSample/node_127.0.0.1.json config/node_trains1.o2oa.net.json
#复制node_127.0.0.1.json文件作为trains2节点的配置文件
cp configSample/node_127.0.0.1.json config/node_trains2.o2oa.net.json
#创建local目录,服务器启动时也会自动创建,这里创建是为了直接拷贝配置文件
mkdir local
#拷贝node.cfg 作为本节点的节点名称表示文件.
cp localSample/node.cfg local/node.cfg


cd /opt
wget http://mirror1.o2oa.net/download/o2server-6.4.1-linux-x64.zip
unzip o2server-6.4.1-linux-x64.zip
cd o2server
mkdir config
cp configSample/node_127.0.0.1.json config/node_trains1.o2oa.net.json
cp configSample/node_127.0.0.1.json config/node_trains2.o2oa.net.json
mkdir local
cp localSample/node.cfg local/node.cfg


复制完成后

和trains1.o2oa.net 操作一样,将externalDataSources.json 复制到trains2.o2oa.net服务器上,再修改配置文件

  1. 将文件 externalDataSources.json 上传到trains2.o2oa.net 服务器的/opt/o2server/config目录下.

  2. 修改 local/node.cfg的内容为trains2.o2oa.net  

  1. config/node_trains1.o2oa.net.json全部采用默认配置,不做修改.

  2. config/node_trains2.o2oa.net.json修改center节点的排序号为1.

  1. config/node_trains2.o2oa.net.json修改storage节点的name为252.


至此服务器集群就配置完成了.


检查配置文件

o2oa双机集群目录 (1).png



我们再次检查配置文件是否符合要求.


验证集群部署




进入trains1.o2oa.net服务器/opt/o2server目录执行 ./start_linux.sh 启动trains1.o2oa.net 服务器.


cd /opt/o2server
./start_linux.sh


进入trains2.o2oa.net服务器/opt/o2server目录执行 ./start_linux.sh 启动trains2.o2oa.net 服务器.


cd /opt/o2server
./start_linux.sh


验证trains1.o2oa.net服务器是否在集群中
访问地址 http://trains1.o2oa.net/x_desktop/index.html
使用xadmin管理员登陆
然后访问地址 http://trains1.o2oa.net:20030/x_program_center/jest/list.html
我们可以看到模块列表已经连接上两台服务器
在服务器控制台上输入 ctl -sc 能看到同样的输出内容

我们在前面的步骤中已经采用了域名来访问,集群之间是通过x-token令牌来传递身份的,在客户端默认是采用cookie来传递x-token,服务器默认采用根域名作为cookie的domain,这里直接完成了两台服务器之前的登陆互通,无需二次登陆.

验证trains2.o2oa.net服务器是否在集群中
访问地址 http://trains2.o2oa.net/x_program_center/jest/list.html
我们可以看到模块列表已经连接上两台服务器
在服务器控制台上输入 ctl -sc 能看到同样的输出内容






上一篇:O2OA二次开发-使用开源平台搭建完整OA(18)-系统上线之配置外部数据库Mysql

下一篇:O2OA二次开发-使用开源平台搭建完整OA(9)-快速搭建企业门户