# 致远协同管理软件信创环境部署手册

北京致远互联软件股份有限公司 2024年07月

# 修订记录

修订内容 修订时间
调整目录结构,删除本版本不支持的控件章节部分 2025-1-16
调整数据库集成说明,删除安装部署说明,部署过程均以数据库厂商手册为准,增加注意事项说明 2025-1-9
调整环境适配要求、网络拓扑图、配置推荐 2025-1-8
重新编写东方通7.0.4部署章节,提升手册可读性,提高部署效率 2025-1-4
重新编写金蝶V10部署章节,提升手册可读性,提高部署效率 2024-12-1

# 前言

本手册对协同管理系统的信创部署升级工具相关事宜进行说明。如对手册存在疑问,可与致远互联的客户服务人员联系。

# 标准产品适配范围

标准产品主系统支持的信创环境如下:

分类 信创适配范围 备注
协同产品版本 A8-N 或 G6-N 9.0SP1
服务器CPU 飞腾、鲲鹏、海光、龙芯(MIPS)、兆芯 推荐飞腾、鲲鹏、海光
服务器操作系统 麒麟V10、统信UOS 2.0 支持部署到Linux系统
服务器中间件 东方通7.0.4、金蝶V9 V10、宝兰德952 955(参考单独的部署手册) 支持使用Tomcat中间件
服务器数据库 达梦8、(人大)中电科金仓V8 R3 R6(Oracle模式)、神舟通用7、南大通用Gbase8s致远专版 支持使用MySQL、SQLServer、Oracle数据库

如客户选型的产品不在标准范围内,则存在项目化适配成本及风险,请谨慎选型。

操作系统、中间件、数据库的安装参考对应厂商的手册,本文不做阐述。操作系统建议安装图形化界面。

# 环境资源准备清单

进行信创环境主系统部署时,需要准备如下物料:

物料名称 备注 提供方
XinChuang.zip安装包 协同-N系列产品安装程序,通过商务公布的产品下载地址下载 致远
服务器 准备满足服务运行的服务器(配置可见后续章节说明) 客户
操作系统 准备与-N标准产品适配的操作系统并安装在服务器内 客户
数据库 准备与-N标准产品适配的数据库 客户
中间件 准备与-N标准产品适配的信创中间件 客户
JDK 准备兼容对应信创系统的openjdk,要求jdk8(如openjdk 1.8.0 372) 客户
客户端 准备客户端电脑及浏览器
客户端功能兼容性见商务公布的产品下载地址-文档-产品功能清单.xlsx
客户
代理服务 Nginx之类的代理服务(按实际场景判断是否需要) 客户或授权致远建设
缓存服务 Redis之类的集中式缓存服务(仅集群环境需要) 客户或授权致远建设
文件存储 单机可本机磁盘存储,集群需要NFS存储,支持华为OBS对象存储 客户或授权致远建设

# 部署结构和硬件配置

产品支持多种部署模式,不同模式所需资源不同,可以根据用户需求自由选择对应的方案。

# 简单部署模式

单机部署,即常规单服务部署模式,保证基本功能可用,适合在线用户不多的客户。

  • 面向中小型客户(同时在线1000人以下)
  • 资源成本需求低(服务器台数和硬件配置都要求较小)
  • 运维操作门槛低

1736332813412.png

# 集群部署模式

集群部署模式,为了提升高并发用户在线体验,将协同主应用部署成集群,通过负载来实现请求分发,分担服务器压力。集群模式下,为保证缓存一致性,需要部署Redis服务。

  • 面向中大型客户(同时在线1000人以上)
  • 满足高性能、主应用高可用部署要求,资源成本可控
  • 易于运维维护

1736332970880.png

# 高可用集群部署模式

如果客户有完全高可用要求,产品也提供了高可用部署方案,协同应用、Redis、全文检索、音视频等都有对应的高可用解决方案。

  • 面向可用性要求高的客户
  • 满足高性能、高可用部署要求
  • 对服务器资源有一定要求,服务运维数量较多

共享存储和数据库的高可用不在本产品支持范围,需要寻找专业厂商的方案支持。

1736333370192.png

# 服务器硬件注意事项

1、服务器申报时通常都是8C16G500G这样的格式,意思是申请8核心CPU、16G内存、500G硬盘的服务器,项目上需要根据客户的在线人数以及部署模式(单机或集群)来测算所需的服务器数量和硬件配置。

2、推荐只取服务器总内存的50%~70%的给协同使用,剩余内存需要用来支撑操作系统正常运行。

3、网络要求:服务与服务之间一般要求在同一局域网内,避免网络波动,保证1Gbps以上的网络传输要求。

商务公布的产品下载地址-文档-产品功能清单.xlsx-信创运行环境有对服务器带宽的推荐

4、推荐分离部署模式,即每个服务都单独部署到独立的服务器上,避免多个服务部署在同一服务器引发资源争抢。

5、如个两个服务一定要在一台服务器集中部署,则硬件资源必须是两个服务硬件资源之和。

如A服务4C8G+B服务8C16G=集中部署服务器12C24G。

6、部署架构图只是示例,图上的节点数量不代表真正服务器数量,项目上需要结合用户实际场景来准备相应的服务器资源。

7、服务器支持物理实体机、VM虚拟机(如超融合),标准产品不支持Docker容器化

# 服务器软件注意事项

1、数据库必须是关系型数据库,不支持分布式分片存储,不支持读写分离,数据库硬件配置、高可用方案以数据库厂商专业意见为准

2、仅协同应用集群时,才需要Redis服务,如不能使用Redis,则可参考采购东方通TongRDS、宝兰德BES cacheserver等类Redis缓存方案

3、协同应用集群时,需要使用Nginx这样的负载均衡服务,如不能使用Nginx,可参考采购东方通TongHttpServer、宝兰德DB-Proxy或硬件负载。

4、协同应用需要在中间件下运行,产品支持信创下部署开源的Tomcat中间件,也可以采购产品适配的信创中间件。信创需要采购中间件套数:协同单机就1套中间件,协同双机集群就2套中间件,依次类推。

5、协同和中间件依赖Java JDK8,信创环境下请联系操作系统厂商提供与系统相匹配的jdk8。要求版本不低于1.8.0.212,推荐尽量与协同产品验证的JDK一致:openjdk_1.8.0_372_B07。

# 服务器软硬件阶梯配置

如下是根据系统平均在线人数的硬件配置参考。配置不是绝对,不同客户的使用场景不同,可根据生产实际运行状况来做增、降配操作。

如使用Nginx服务做负载均衡、反向代理、SSL管理,需要至少准备1台2C4G(或4C8G)服务器给Nginx使用

在线人数 部署方式 信创应用服务器配置参考 应用服务器数量 中间件套数(信创) Redis服务器配置参考
200以下 单机 CPU12核以上/内存24G以上 1 1 不涉及
200~500 单机 CPU12核以上/内存32G以上 1 1 不涉及
500~1000 单机 CPU24核以上/内存48G以上 1 1 不涉及
1000~2000 1主1从 CPU24核以上/内存64G以上 2 2 CPU4核/内存12G
2000~3000 1主2从 CPU24核以上/内存64G以上 3 3 CPU4核/内存16G
3000~5000 1主2从 CPU24核以上/内存96G以上 3 3 CPU8核/内存24G
5000~10000 1主3从 CPU32核以上/内存96G以上 4 4 CPU8核/内存24G
10000以上 1主N从

# 产品部署包说明

# XinChuang部署包

信创部署包通过商务公布的产品下载地址下载当前版本最新的程序,信创下载命名为“版本号_XinChuang.zip”的部署包,示意图如下:

1736391654206.png

将XinChuang.zip解压后的产品部署包文件结构如下:

1736391943050.png

XinChuang部署包每个目录的功能说明:

  • deploytools:信创环境部署工具目录,本手册按不同中间件分类做了部署使用方法说明:
    • deploytools/deployGUI-for-9.0SP1-A8N.sh:A8N图形化安装脚本

    • deploytools/deployGUI-for-9.0SP1-G6N.sh:G6N图形化安装脚本

    • deploytools/deploycli-for-9.0SP1-A8N.sh : A8N命令行安装脚本

    • deploytools/deploycli-for-9.0SP1-G6N.sh : G6命令行安装脚本

  • FileService:文件下载服务目录,部署方法见对应的手册
  • java:信创部署工具依赖的jdk,适用于X86环境,其它环境可能不适用(需联系系统厂商提供)
  • MediaService:音视频服务目录,部署方法见对应的手册
  • needcopy:某些特殊环境下无法使用打印服务时使用,部署过程中如手册有提及此目录再按要求操作
  • OfficeTrans:在线预览服务目录,部署方法见本手册“在线预览服务部署”章节。
  • S1:运维服务工具,支持在线打补丁等功能,部署方法见对应的手册
  • Search:全文检索服务目录,部署方法见对应的手册
  • V5/ApacheJetspeed.7z:协同应用压缩包,切勿删除,信创部署工具或纯手工部署依赖此包

# 其它部署包说明

如遇到XinChuang部署包中不包含的应用(如在线编辑服务在线预览服务等),尝试从商务公布的产品下载地址中检索相关产品进行下载部署安装:

1736405985813.png

# 达梦数据库集成注意事项

# 达梦集成-项目组注意事项

如客户使用达梦数据库,请项目组按如下要求配合达梦、客户多方完成集成部署:

1、产品不提供达梦数据库本身的安装部署、维护、调优、转库详细解决方案,此类方案以数据库厂商专业支持为准

2、产品对达梦数据库有一些基本配置和字段类型要求,初始化数据库前请将“达梦方注意事项”说明转给达梦厂商,避免集成部署异常

3、新客户使用达梦数据库的部署路线:达梦厂商准备一个空库,致远侧按对应中间件手册部署协同系统,工具部署时会自动向达梦空库写入初始化脚本

4、老客户转达梦数据库的部署路线:

  • 第一步,达梦厂商准备一个空库,致远侧按对应中间件手册部署协同应用系统,先确保一个初始化环境能部署、启动、登录成功
  • 第二步,老客户原环境升级协同到当前版本,达梦侧进行数据库转库,第一步部署的协同应用数据库URL地址指向本步转库后的数据库地址
  • 第三步,迁移老客户原环境的附件、资源文件到信创环境,随后启动、登录、验证功能完整性

5、协同应用系统基于Java JDBC连接数据库,需要联系达梦厂商提供与当前达梦库版本相匹配的驱动jar,然后按手册要求放置到对应位置

# 达梦集成-达梦方注意事项

1、不支持分布式分片存储,不支持读写分离,高可用可以用主备模式

2、标准产品支持默认的达梦库,不要选择任何兼容模式(不要选择兼容Oracle、兼容MySQL之类的选项)

3、达梦建库标准:新建一个给产品用的用户,达梦会自动创建用户同名的库名,确保连接URL上的数据库名与用户同名,功能就不会有什么问题。示例如:

-- 创建给协同使用的用户并设置密码
CREATE USER seeyon_oa IDENTIFIED BY "3S33c414574265d";

-- 授予读写权限
GRANT RESOURCE TO seeyon_oa;
GRANT  soi TO seeyon_oa;

4、主键类型必须设置为默认非聚集(聚集键和大字段无法共存),此问题配置错误对转库后功能使用影响很大

5、转达梦库时不要重命名原库的INDEX索引名称,产品是根据索引名称判断索引是否存在

6、V8.2之后协同应用就未使用过存储过程、视图、触发器、函数,转达梦库时如涉及这些东西,可能是客户、客开、第三方加的,标准产品不涉及这些

7、转达梦库后最常见的问题一是丢失索引,直接表现是系统部分功能卡顿,致远项目组可尝试用环境检查工具扫描缺失的索引,或者取XinChuang部署包中的初始化SQL给达梦老师协助,里面有全套索引可做补齐,初始SQL位置:XinChuang\deploytools\file\sql\init\A8N-2\DM目录

8、转达梦库后最常见问题二是字段映射错误,直接表现是部分功能正常,部分功能页面各种报错。必须按照如下字段映射关系做转库(非常关键,请务必将图片转给达梦):

MYSQL ORACLE SQLSERVER POSTGRESQL DM KINGBASE(兼容Oracle) OSCAR GBASE HBM文件 POJO类型 场景
BIGINT INTEGER BIGINT INT8 BIGINT INT8 BIGINT BIGINT long java.lang.Long 主键
DATE DATE DATETIME TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0) timestamp java.util.Date 日期
DATETIME DATE DATETIME TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0) timestamp java.util.Date 日期时间
DECIMAL NUMBER NUMERIC NUMERIC NUMBER NUMERIC NUMBER NUMBER double java.lang.Double 小数
INT INTEGER INT INT4 INT INT4 INTEGER INT integer java.lang.Integer 整数
LONGBLOB BLOB IMAGE BYTEA BLOB BYTEA BLOB BLOB string java.lang.String 二进制对象
LONGTEXT CLOB NTEXT TEXT CLOB TEXT CLOB CLOB string java.lang.String 大文本
SMALLINT NUMBER(4) SMALLINT INT2 SMALLINT INT2 SMALLINT SMALLINT integer java.lang.Integer 数字枚举
VARCHAR VARCHAR2 NVARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR string java.lang.String 文本

9、部分数据库参数要求配置如下:

  • 页大小建议32K,如厂商有更好的建议可参考数据库厂商意见
  • 字符集要求UTF-8
  • “字符串比较大小写敏感”建议取消勾选,如勾选会导致系统内输入小写英文词组查询不到大写词组(反之亦然)的问题

1736408112575.png

10、若从Oracle数据库迁移数据至达梦,需要调整达梦数据库dm.ini(位于创建数据库时,指定数据库目录/具体服务名下)以下参数:

COMPATIBLE_MODE=2

并重启达梦服务后,再进行数据迁移。

迁移任务执行时,勾选"以文本方式显示执行任务",如下所示:

attach_5410509270506949255

注意:在升级、转库或数据库迁移后,请对数据库做一次统计信息更新,减少性能问题出现概率

# 人大金仓数据库集成注意事项

人大金仓现更名为中电科金仓(简称电科金仓),英文名为Kingbase。

# 金仓集成-项目组注意事项

如客户使用金仓数据库,请项目组按如下要求配合金仓、客户多方完成集成部署:

1、产品不提供金仓数据库本身的安装部署、维护、调优、转库详细解决方案,此类方案以数据库厂商专业支持为准

2、产品对金仓数据库有一些兼容类型、基本配置和字段类型要求,初始化数据库前请将“金仓方注意事项”说明转给金仓厂商,避免集成部署异常

3、新客户使用金仓数据库的部署路线:金仓厂商准备一个空库,致远侧按对应中间件手册部署协同系统,工具部署时会自动向金仓空库写入初始化脚本

4、老客户转金仓数据库的部署路线:

  • 第一步,金仓厂商准备一个空库,致远侧按对应中间件手册部署协同应用系统,先确保一个初始化环境能部署、启动、登录成功
  • 第二步,老客户原环境升级协同到当前版本,金仓侧进行数据库转库,第一步部署的协同应用数据库URL地址指向本步转库后的数据库地址
  • 第三步,迁移老客户原环境的附件、资源文件到信创环境,随后启动、登录、验证功能完整性

5、协同应用系统基于Java JDBC连接数据库,需要联系金仓厂商提供与当前金仓库版本相匹配的驱动jar,然后按手册要求放置到对应位置

# 金仓集成-金仓方注意事项

1、不支持分布式分片存储,不支持读写分离

2、自R6版本开始,金仓初始化时必须选择“兼容Oracle模式”,产品不支持其它兼容模式

3、转金仓库时不要重命名原库的INDEX索引名称,产品是根据索引名称判断索引是否存在

4、V8.2之后协同应用就未使用过存储过程、视图、触发器、函数,转金仓库时如涉及这些东西,可能是客户、客开、第三方加的,标准产品不涉及这些

5、转金仓库后最常见的问题一是丢失索引,直接表现是系统部分功能卡顿,致远项目组可尝试用环境检查工具扫描缺失的索引,或者取XinChuang部署包中的初始化SQL给金仓老师协助,里面有全套索引可做补齐,初始SQL位置:XinChuang\deploytools\file\sql\init\A8N-2\KingBase目录

6、金仓数据库连接格式要求jdbc:kingbase8://金仓IP:端口/SEEYON?clientEncoding=UTF-8这种形式,不要在URL带&currentSchema=指定schema这种信息,如果金仓指定了Schema(如指定dbo是OA的库),需要在数据库中设置search_path='"$user",dbo,public',确保默认连接的Schema模式是OA的库。

7、转金仓库后最常见问题二是字段映射错误,直接表现是部分功能正常,部分功能页面各种报错。必须按照如下字段映射关系做转库(非常关键,请务必将图片转给金仓):

MYSQL ORACLE SQLSERVER POSTGRESQL DM KINGBASE(兼容Oracle) OSCAR GBASE HBM文件 POJO类型 场景
BIGINT INTEGER BIGINT INT8 BIGINT INT8(对应bigint) BIGINT BIGINT long java.lang.Long 主键
DATE DATE DATETIME TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0)(对应date) TIMESTAMP(0) TIMESTAMP(0) timestamp java.util.Date 日期
DATETIME DATE DATETIME TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0)(对应date) TIMESTAMP(0) TIMESTAMP(0) timestamp java.util.Date 日期时间
DECIMAL NUMBER NUMERIC NUMERIC NUMBER NUMERIC (对应decimal) NUMBER NUMBER double java.lang.Double 小数
INT INTEGER INT INT4 INT INT4 (对应int) INTEGER INT integer java.lang.Integer 整数
LONGBLOB BLOB IMAGE BYTEA BLOB BYTEA (对应longblob) BLOB BLOB string java.lang.String 二进制对象
LONGTEXT CLOB NTEXT TEXT CLOB TEXT (对应longtext) CLOB CLOB string java.lang.String 大文本
SMALLINT NUMBER(4) SMALLINT INT2 SMALLINT INT2 (对应smallint) SMALLINT SMALLINT integer java.lang.Integer 数字枚举
VARCHAR VARCHAR2 NVARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR string java.lang.String 文本

8、部分数据库参数要求配置如下:

  • 如涉及选择兼容数据库,必须勾选兼容Oracle,其余不支持
  • 字符集要求UTF-8
  • 勾选CASE-INSENSITIVE:执行字符串比较和搜索操作时,数据库不区分大小写

# 神舟通用数据库集成注意事项

# 神通集成-项目组注意事项

如客户使用神通数据库,请项目组按如下要求配合神通、客户多方完成集成部署:

1、产品不提供神通数据库本身的安装部署、维护、调优、转库详细解决方案,此类方案以数据库厂商专业支持为准

2、产品对神通数据库有一些兼容类型、基本配置和字段类型要求,初始化数据库前请将“神通方注意事项”说明转给神通厂商,避免集成部署异常

3、新客户使用神通数据库的部署路线:神通厂商准备一个空库,致远侧按对应中间件手册部署协同系统,工具部署时会自动向神通空库写入初始化脚本

4、老客户转神通数据库的部署路线:

  • 第一步,神通厂商准备一个空库,致远侧按对应中间件手册部署协同应用系统,先确保一个初始化环境能部署、启动、登录成功
  • 第二步,老客户原环境升级协同到当前版本,神通侧进行数据库转库,第一步部署的协同应用数据库URL地址指向本步转库后的数据库地址
  • 第三步,迁移老客户原环境的附件、资源文件到信创环境,随后启动、登录、验证功能完整性

5、协同应用系统基于Java JDBC连接数据库,需要联系神通厂商提供与当前神通库版本相匹配的驱动jar,然后按手册要求放置到对应位置

# 神通集成-神通方注意事项

1、不支持分布式分片存储,不支持读写分离

2、神通数据库必须选择选择兼容oracle模式,产品不支持其它兼容模式

3、转神通库时不要重命名原库的INDEX索引名称,产品是根据索引名称判断索引是否存在

4、V8.2之后协同应用就未使用过存储过程、视图、触发器、函数,转神通库时如涉及这些东西,可能是客户、客开、第三方加的,标准产品不涉及这些

5、转神通库后最常见的问题一是丢失索引,直接表现是系统部分功能卡顿,致远项目组可尝试用环境检查工具扫描缺失的索引,或者取XinChuang部署包中的初始化SQL给神通老师协助,里面有全套索引可做补齐,初始SQL位置:XinChuang\deploytools\file\sql\init\A8N-2\Oscar目录

6、转神通库后最常见问题二是字段映射错误,直接表现是部分功能正常,部分功能页面各种报错。必须按照如下字段映射关系做转库(非常关键,请务必将图片转给神通):

MYSQL ORACLE SQLSERVER POSTGRESQL DM KINGBASE(兼容Oracle) OSCAR GBASE HBM文件 POJO类型 场景
BIGINT INTEGER BIGINT INT8 BIGINT INT8 BIGINT BIGINT long java.lang.Long 主键
DATE DATE DATETIME TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0) timestamp java.util.Date 日期
DATETIME DATE DATETIME TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0) timestamp java.util.Date 日期时间
DECIMAL NUMBER NUMERIC NUMERIC NUMBER NUMERIC NUMBER NUMBER double java.lang.Double 小数
INT INTEGER INT INT4 INT INT4 INTEGER INT integer java.lang.Integer 整数
LONGBLOB BLOB IMAGE BYTEA BLOB BYTEA BLOB BLOB string java.lang.String 二进制对象
LONGTEXT CLOB NTEXT TEXT CLOB TEXT CLOB CLOB string java.lang.String 大文本
SMALLINT NUMBER(4) SMALLINT INT2 SMALLINT INT2 SMALLINT SMALLINT integer java.lang.Integer 数字枚举
VARCHAR VARCHAR2 NVARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR string java.lang.String 文本

7、部分数据库参数要求配置如下:

  • 必须选择兼容oracle模式
  • 库字符集要求UTF-8,字符排序和字符分类选择en_US.UTF-8
  • 数据页面大小建议选择32k

img

# 南大通用数据库安装配置

# 南通集成-项目组注意事项

如客户使用南通数据库,请项目组按如下要求配合南通、客户多方完成集成部署:

1、产品不提供南通数据库本身的安装部署、维护、调优、转库详细解决方案,此类方案以数据库厂商专业支持为准

2、新客户使用南通数据库的部署路线:南通厂商准备一个空库,致远侧按对应中间件手册部署协同系统,工具部署时会自动向南通空库写入初始化脚本

3、老客户转南通数据库的部署路线:

  • 第一步,南通厂商准备一个空库,致远侧按对应中间件手册部署协同应用系统,先确保一个初始化环境能部署、启动、登录成功
  • 第二步,老客户原环境升级协同到当前版本,南通侧进行数据库转库,第一步部署的协同应用数据库URL地址指向本步转库后的数据库地址
  • 第三步,迁移老客户原环境的附件、资源文件到信创环境,随后启动、登录、验证功能完整性

4、协同应用系统基于Java JDBC连接数据库,需要联系南通厂商提供与当前南通库版本相匹配的驱动jar,然后按手册要求放置到对应位置

# 南通集成-南通方注意事项

1、必须选择南大通用Gbase8s致远专版

2、转南通库时不要重命名原库的INDEX索引名称,产品是根据索引名称判断索引是否存在

3、V8.2之后协同应用就未使用过存储过程、视图、触发器、函数,转南通库时如涉及这些东西,可能是客户、客开、第三方加的,标准产品不涉及这些

4、转南通库后最常见的问题一是丢失索引,直接表现是系统部分功能卡顿,致远项目组可尝试用环境检查工具扫描缺失的索引,或者取XinChuang部署包中的初始化SQL给南通老师协助,里面有全套索引可做补齐,初始SQL位置:XinChuang\deploytools\file\sql\init\A8N-2\Gbase目录

5、转南通库后最常见问题二是字段映射错误,直接表现是部分功能正常,部分功能页面各种报错。必须按照如下字段映射关系做转库(非常关键,请务必将图片转给南通):

MYSQL ORACLE SQLSERVER POSTGRESQL DM KINGBASE(兼容Oracle) OSCAR GBASE HBM文件 POJO类型 场景
BIGINT INTEGER BIGINT INT8 BIGINT INT8 BIGINT BIGINT long java.lang.Long 主键
DATE DATE DATETIME TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0) timestamp java.util.Date 日期
DATETIME DATE DATETIME TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0) TIMESTAMP(0) timestamp java.util.Date 日期时间
DECIMAL NUMBER NUMERIC NUMERIC NUMBER NUMERIC NUMBER NUMBER double java.lang.Double 小数
INT INTEGER INT INT4 INT INT4 INTEGER INT integer java.lang.Integer 整数
LONGBLOB BLOB IMAGE BYTEA BLOB BYTEA BLOB BLOB string java.lang.String 二进制对象
LONGTEXT CLOB NTEXT TEXT CLOB TEXT CLOB CLOB string java.lang.String 大文本
SMALLINT NUMBER(4) SMALLINT INT2 SMALLINT INT2 SMALLINT SMALLINT integer java.lang.Integer 数字枚举
VARCHAR VARCHAR2 NVARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR string java.lang.String 文本

# 信创部署工具使用说明

XinChuang包中有一个信创部署工具,是致远自研产品,工具将很多人工操作的步骤写到程序中,由工具程序来自动完成。包括并不仅限于:配置JVM、调整jar包、设置产品标识、部署OA程序、导入数据库脚本等,极大提升部署效率,减少错误率。

只要使用信创部署工具安装OA,后续OA版本升级,也可以用信创部署工具一键平滑升级。故能用信创部署工具的环境,一定都用工具做部署、升级!

本章节主要介绍工具的基本信息,在后续按中间件安装部署过程中,还有详细的工具使用配置方法参考。

使用工具部署前,需要参考对应的中间件的部署章节提前准备好相关的信息,如金蝶先创建域再部署。

工具会自动更改中间件配置文件,使用部署工具部署前,请先对中间件目录做一个全量备份。

工具目录位置XinChuang/deploytools,目录中文件如下:

不同版本文件名称会有差异,请执行实际版本文件。

例如:部署A8N9.0,请使用deployGUI-for-9.0SP1-A8N.sh

支持图形界面和静默两种方式,两种方式二选一即可,不用两个都执行。建议使用图形界面方式。

  • 图形界面使用deployGUI-for-9.0SP1-A8N.sh 启动。

  • 命令行静默方式使用deploycli-for-9.0SP1-A8N.sh 启动,但前提条件为先配置对应的参数文件,具体参考后续说明。

Linux环境下启动脚本授权方法:

  • 图形化模式先执行chmod +x deployGUI-for-9.0SP1-A8N.sh(不同版本sh文件名会有差异,根据实际情况调整),授权使deployGUI-for-9.0-A8N.sh可执行。

  • 命令行模式先执行chmod +x deploycli-for-9.0SP1-A8N.sh(不同版本sh文件名会有差异,根据实际情况调整),授权使deploycli-for-9.0-A8N.sh可执行。

图形化界面注意事项:如果是通过ssh方式登录的服务器,请用ssh登录的用户启动,并确保服务器有图形化组件,否则可能导致安装页面无法弹出。

# 东方通7.0.4协同应用部署

# 东方通7.0.4准备

使用东方通前,通过java -version命令检查当前系统是否已经安装openjdk8。如未安装请自行安装或联系系统厂商准备合适的jdk8(小版本号推荐1.8.0_372),并配置JAVA_HOME、PATH、CLASSPATH环境变量:

1732983538500.png

上传并解压东方通7.0.4安装介质:

# 本例是将东方通7.0.4压缩包放置到/data目录并解压
cd /data
# 解压后一般是/data/TongWeb7.0.4.9_M4_Enterprise_Linux这样的目录
tar -zxvf TongWeb7.0.4.9_M4_Enterprise_Linux.tar.gz

东方通7.0.4从第一次启动开始,就需要授权文件(一般为license.dat),我们需要将授权文件放置到名为TongWeb程序根目录下,参考命令mv license.dat /data/TongWeb7.0.4.9_M4_Enterprise_Linux

1735965794742.png

# 东方通7.0.4初始化

放置授权文件后,到TongWeb7.0.4程序目录/bin进行第一次启动:为了更方便看到控制台信息,初次启动推荐./startserver.sh命令启动(方便快速看到日志),此命令启动后如果Ctrl+C退出就会导致东方通程序也退出。后续正常维护都用./startservernohup.sh命令启动(Ctrl+C不会导致东方通程序退出)。

cd /data/TongWeb7.0.4.9_M4_Enterprise_Linux/bin
./startserver.sh

1735965820178.png

浏览器输入http://东方通服务IP:9060/console)访问东方通7.0.4控制台,默认值账号密码thanos/thanos123.com,初次登录按要求修改好密码。能登录到控制台则说明启动正常。

如无法访问控制台,首先确认服务是否启动,然后确认防火墙是否放开了对应端口!

1735965838456.png

登录后,首页菜单能看到东方通的基本信息,控制台配置-服务器选择文件可选目录需要进行手动设置,本次计划将OA相关程序全部安装在/data目录下,故手动填入/data即可,这样操作后,后续选择驱动jar、部署应用选择OA路径时就可以从/data目录下可视化选择。

1735965859012.png

# 东方通7.0.4部署OA

准备XinChuang.zip包:

从致远商务公布的安装程序下载地址中,下载对应版本的XinChuang.zip部署包,并解压到系统中:

# 同样将XinChuang.zip解压到/data/目录进行操作
mv 2.V9.0SP1_XinChuang.zip /data/
cd /data
unzip 2.V9.0SP1_XinChuang.zip

1732983606183.png

关于XinChuang部署工具:

XinChuang包中有一个信创部署工具,是致远自研产品,工具将很多人工操作的步骤写到程序中,由工具程序来自动完成。包括并不仅限于:配置JVM、调整jar包、设置产品标识、部署OA程序、导入数据库脚本等,极大提升部署效率,减少错误率。

只要使用信创部署工具安装OA,后续OA版本升级,也可以用信创部署工具一键平滑升级。故能用信创部署工具的环境,一定都用工具做部署、升级!

信创部署工具部署模式:

OA信创部署工具位于XinChuang/deploytools目录下,支持图形界面部署和命令行静默部署两种方式,如果有图形化界面,建议优先使用图形界面方式。

  • 图形化部署:使用命名含GUI的deployGUI-for-版本号-产品线.sh程序启动

  • 命令行部署:使用命名含cli的deploycli-for-版本号-产品线.sh程序启动

# 东方通7.0.4-信创部署工具图形化安装

本小节适用于带图形化的Linux或信创操作系统。

安装前,首先确定一个OA程序的安装路径,通过mkdir -p /data/Seeyon命令创建目录,以后OA程序就在/data/Seeyon目录下维护。

安装前,还要确保东方通中间件已经准备就绪,程序会针对程序目录写入配置。

安装前,确认好客户使用什么数据库,如果是当前版本标准产品支持的数据库,则只需要初始化一个空库(即使是老客户转信创也建议先建空库测试启动),信创工具会自动写入SQL数据。

以上准备就绪后,参考如下命令启动图形化部署工具:

# 到XinChuang部署目录deploytools
cd /data/2.V9.0SP1_XinChuang/deploytools
# 先赋予可执行权限(如果是G6则操作G6N结尾的可执行文件)
chmod +x deployGUI-for-V9.0SP1-A8N.sh
# 再启动GUI可执行程序(如果是G6则操作G6N结尾的可执行文件)
./deployGUI-for-V9.0SP1-A8N.sh

1732983626676.png

图形化参数说明:

安装/升级: 全新部署勾选“安装”选项,已经通过工具安装过OA,本次升级版本则选“升级”选项。

CPU: 目前支持ARM、MIPS、x86三类,根据当前系统实际情况选择

系统: 只有CPU类型为ARM时才需要选择,支持选项:统信uos、麒麟kylin

中间件: 根据实际情况选择,东方通7.0.4就选TongWeb

协同路径: 可自定义,比如本例设置为/data/Seeyon,此目录需要提前创建,未创建目录会报错

中间件路径: 对应东方通7.0.4的程序根目录(根目录下有bin、lib、logs等东方通重要目录)

如果从服务器看不出哪个是根目录,可以登录东方通console控制台,首页找到“安装目录”信息,那个就是根目录

1735965916016.png

协同产品线、在线人数: 根据实际情况选择,在线人数尽量预估准确,不同在线人数,工具会给不同的JVM配置

数据库: 下拉列表中能选到的就是标准支持的库,只要准备好空库,工具会自动向空库中写入OA初始化SQL;如数据库不在标准支持范围,则下拉列表选择“不初始化数据库”,这类“不初始化数据库”场景,在工具部署完成后,需要手动初始化数据。

JDBCDriver: 根据选择的数据库自动生成,无需修改

JDBC URL: 需要修改IP、端口、库名(数据库空库需要提前创建,见前面章节说明)

数据库用户、密码: 根据实际情况填写

以上填写完整后,先进行“验证参数”,通过后再“部署”,部署需要一定时间,请耐心等待。

1735965933801.png

如数据库选择“不初始化数据库”,安装结束后提示“未找到对应数据库版本驱动JAR,请手动放置数据库驱动”的提示,可以忽略,部署是成功的。

完成部署后,手工关闭安装程序退出。

信创部署工具日志文件位于:2.V9.0SP1_XinChuang/deploytools/logs目录下,如遇到部署异常可通过日志分析问题。

# 东方通7.0.4-信创部署工具命令行静默安装

命令行部署,又叫静默部署,适用于无法通过图形化安装的场景。

第一步:修改installConfig.properties

通过修改信创部署目录XinChuang/deploytools/cfgHome/installConfig.properties配置文件,配置必要的参数:

# 到XinChuang部署目录deploytools/cfgHome
cd /data/2.V9.0SP1_XinChuang/deploytools/cfgHome/
# 修改installConfig.properties文件参数
vim installConfig.properties

installConfig.properties配置文件中的参数与图形化部署界面一模一样,这里面的参数直接参考上一个图形化安装章节填写。

再次提醒:请不要凭感觉填写配置,认真参考“图形化部署”章节,熟悉每一个配置和注意事项后再操作!

如下是一个示例截图,本示例选择安装A8-N集团版、数据库选择MySQL、提前创建好OA的程序目录mkdir -d data/Seeyon、中间件部署路径指向东方通7.0.4的根目录:

1735966025639.png

第二步:修改deploycli脚本,设置状态为install

找到我们本次要命令行启动执行的sh脚本文件,修改一点配置:

# 到XinChuang部署目录deploytools
cd /data/2.V9.0SP1_XinChuang/deploytools
# 修改命令行启动脚本文件(如果是G6则操作G6N结尾的可执行文件)
vim deploycli-for-V9.0SP1-A8N.sh

修改sh脚本文件里末尾的参数,将默认的upgrade(更新升级)改为install(安装部署):

1729309734017.png

第三步:执行命令行部署sh脚本:

先赋予可执行权限,再执行sh脚本:

# 到XinChuang部署目录deploytools
cd /data/2.V9.0SP1_XinChuang/deploytools
# 先赋予可执行权限(如果是G6则操作G6N结尾的可执行文件)
chmod +x deploycli-for-V9.0SP1-A8N.sh
# 再启动GUI可执行程序(如果是G6则操作G6N结尾的可执行文件)
./deploycli-for-V9.0SP1-A8N.sh

1735966047088.png

信创部署工具日志文件位于:2.V9.0SP1_XinChuang/deploytools/logs目录下,如遇到部署异常可通过日志分析问题。

# 东方通7.0.4纯手工部署OA(无法工具部署场景)

已经通过信创部署工具安装的客户,请直接跳过本小节!

如果当前系统没有办法执行信创部署工具,建议先上报支持工单由致远技术判断是否可以用其它方案解决。

如果以上确定都不行,则参考如下方式进行文件手动部署(由于手动部署后的所有配置也要修改,手动配置错误率极高,我们非常不推荐此方式):

第一步:新建OA程序的存放目录,比如mkdir -p /data/Seeyon/V5,后续OA程序全放这下面

第二步:将2.V9.0SP1_XinChuang/V5/ApacheJetspeed.7z解压到/data/Seeyon/V5

# 确保当前系统安装了7z解压工具,解压文件到OA程序目录下
7z x ApacheJetspeed.7z -o/data/Seeyon/V5
# 如果7z不可用,尝试7za命令,或者检查是否按照了7z解压工具
7za x ApacheJetspeed.7z -o/data/Seeyon/V5

以上解压后,OA的目录层级格式务必是/data/Seeyon/V5/ApacheJetspeed/webapps这样的结构,如果不是,请尝试重新操作!

第三步:剪切、拷贝各种jar,特别注意不同版本、不同jar是剪切还是拷贝都有严格要求,务必参考要求执行:

# 移动文件(将OA下WEB-INF/lib的指定jar剪切到中间件lib下)
mv /data/Seeyon/V5/ApacheJetspeed/webapps/seeyon/WEB-INF/lib/{seeyon-ctp-jdbcproxydriver.jar,druid.jar,log4j-1.2-api.jar,log4j-jcl.jar,log4j-api.jar,log4j-core.jar,jmx_prometheus_javaagent.jar} /data/TongWeb7.0.4.9_M4_Enterprise_Linux/lib/

# 拷贝文件(将OA下WEB-INF/lib的指定jar复制一份到中间件lib下)
cp /data/Seeyon/V5/ApacheJetspeed/webapps/seeyon/WEB-INF/lib/{xercesImpl.jar,guava.jar,seeyon-ctp-dbpool.jar,seeyon-ctp-log-log4j.jar,disruptor.jar,woodstox-core-asl.jar,stax2-api.jar,stax-api.jar,commons-logging.jar} /data/TongWeb7.0.4.9_M4_Enterprise_Linux/lib/

# 将XinChuang部署包的驱动jar拷贝到中间件lib下,注:仅MySQL、SQLServer、Oracle数据库适合,其余信创数据库请联系数据库厂商提供驱动jar
cp /data/2.V9.0SP1_XinChuang/deploytools/file/jdbc/mysql-connector-j-8.0.33.jar /data/TongWeb7.0.4.9_M4_Enterprise_Linux/lib/

以上手工操作务必一步步按顺序执行,不要错过任何一步。

# 东方通7.0.4WEB容器配置

管理员账号thanos登录东方通控制台(http://东方通服务IP:9060/console),

WEB容器配置-容器配置:

东方通7.0.4系列版本需要设置默认应答容器的字符集为UTF-8,设置默认请求参数解码字符集修改为ISO-8859-1,并重启东方通服务。重启后检查容器配置中字符集是否已调整,若未调整可修改东方通的配置文件tongweb.xml。

WEB容器配置-HTTP通道管理:

找到WEB容器配置>HTTP通道管理>tong-http-listener:

1735966222394.png

1、调整io模式为nio

2、线程池属性调整初始线程数为100,调整最大线程数为4096

3、其它设置-uri处理:不要勾选

1735966239281.png

WEB容器配置-虚拟主机管理:

WEB容器配置菜单找到虚拟主机管理下的server:在最底部属性列表检查是否存在cacheMaxSize属性,值为1000000,不存在或值过低就按需调整。

1735979399032.png

# 东方通7.0.4启动参数(JVM配置)调整

继续通过东方通管理控制台,访问“启动参数配置”菜单,进行JVM相关配置检查和调整:

JVM参数(配置内存和垃圾回收方法):

最大/最小堆内存:配置(最大和最小的数字都保持一致避免JVM波动),信创部署工具会根据设置的在线人数自动写入推荐值,如需调整直接在此修改即可。

一般行业通用标准,堆内存取服务器的50%-70%总内存,如果在线人数不高,也不必申请过高内存

垃圾回收方法:必须选择G1GC

1735979422710.png

JVM参数(检查external.vmoptions)

直接访问东方通程序目录/bin/external.vmoptions文件,确保包含如下JVM配置,其中-Xmx和-Xms对应堆内存(根据实际情况调整),-Xloggc路径指向协同OA程序的目录,尽量确保-XX:+UnlockExperimentalVMOptions配置在-XX:+UseG1GC之前:

-Xmx16G
-Xms16G
-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-Xloggc:/data/Seeyon/V5/ApacheJetspeed/logs/gc.log
-XX:+PrintGCDateStamps
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles=8
-XX:GCLogFileSize=10m
-XX:ReservedCodeCacheSize=1G
-XX:MaxMetaspaceSize=2G
-XX:MetaspaceSize=2G
-Djava.awt.headless=true
-Dibm.stream.nio=true
-Djava.net.preferIPv4Stack=true
-Dsun.zip.disableMemoryMapping=true

1735979478110.png

JVM参数(可视化检查)

除了通过命令行的形式检查JVM参数外,也可以通过东方通控制台-启动参数配置可视化检查所有JVM参数(参数分布于“jvm参数”、“其他jvm参数”和“服务器参数”),没有就添加:

1735979508404.png

# 东方通7.0.4放置-N标识文件

如果使用信创部署工具部署,可以忽略本步骤,本步骤主要面对纯手工部署场景:

将XinChuang部署包deploytools/file/productiden中的7z文件,按产品线(A8-1:A8+企业版、A8-2:A8+集团版、A8N-1:A8-N企业版、A8N-2:A8-N集团版)解压我们所需部署对应版本,解压后的目录ApacheJetspeed覆盖部署目标目录V5的ApacheJetspeed。

如果使用信创部署工具部署,只需要检查OA部署目录ApacheJetspeed/webapps/seeyon/WEB-INF/cfgHome/base/productFeature.xml文件是否与XinChuang部署包产品线7z中的文件对得上。

# 东方通7.0.4HTTP通道管理配置

登录控制台,在"WEB容器配置"-"HTTP通道管理",将http通道的各个listener进行配置检查和调整:

  • "压缩属性"设置为"不使用"压缩
  • “其他设置”的“POST请求最大字节数”设置为-1

如果使用信创部署工具部署,这些操作都会默认设置,无需人工操作。

img

img

# 东方通7.0.4协同OA打补丁(可选)

此步骤主要面对非标准支持数据库的项目化适配场景,务必提前打好适配代码,再进行数据库连接配置及启动。

注意补丁包打包位置:大部分jar放置于OA程序的seeyon/WEB-INF/lib下,还有少量jar放置在东方通中间件lib下,项目上要根据情况核对清楚并确保打包正确。

# 东方通7.0.4JDBC配置

首先检查JVM是否已经配置好-Djdbcproxydriver.driverclass参数:

东方通控制台-启动参数配置-其它jvm参数搜索-Djdbcproxydriver.driverclass,如果是标准产品支持的数据库, 则一定要有此参数,如不存在,务必将其手动添加到JVM选项中并且重启中间件,填写规范如下:

  • 达梦填写-Djdbcproxydriver.driverclass=dm.jdbc.driver.DmDriver

  • 金仓填写-Djdbcproxydriver.driverclass=com.kingbase8.Driver

  • 神通填写-Djdbcproxydriver.driverclass=com.oscar.Driver

  • 南大通用填写-Djdbcproxydriver.driverclass=com.gbasedbt.jdbc.Driver

  • MySQL填写-Djdbcproxydriver.driverclass=com.mysql.jdbc.Driver

  • SQLServer填写-Djdbcproxydriver.driverclass=com.microsoft.sqlserver.jdbc.SQLServerDriver

  • Oralce填写-Djdbcproxydriver.driverclass=oracle.jdbc.driver.OracleDriver

1735980599548.png

如果不是标准产品支持的数据库,则根据对应非标数据库项目化部署手册中的说明来确定是否配置,如无需配置则从JVM中删除此参数!

然后,检查驱动jar是否已经正确放置:

注意:除了MySQL、SQLServer、Oracle这三家非国产数据库外,其余所有国产化数据库在配置数据源前,都必须从数据库厂商侧获取与当前数据库版本相匹配的JDBC驱动jar,并将其放置到东方通中间件lib目录下(如果lib下有旧的驱动jar注意删除掉)!放置后必须重启一次东方通服务!

XinChuang安装包中虽然有达梦、金仓等国产化数据库驱动jar,但与客户版本不匹配,只能用作执行初始化SQL语句,实测启动OA时遇到复杂SQL就会有大量莫名报错,故务必使用厂商的驱动jar。

1735980618667.png

随后,登录东方通控制台,在"JDBC配置"中点击-创建连接池,依次填写信息,如下图示:

  • 名称必须是:jdbc/ctpDataSource
  • 资源类型:Datasource
  • Ip类型:ipv4
  • 数据库类型:选择所使用的数据库类型。其中dameng为达梦,Kingbase为人大金仓,oscar为神通数据库。
  • 数据库驱动类名不要用自动带出的,标准产品适配的所有数据库都必须填写为:com.seeyon.ctp.monitor.perf.jdbcmonitor.proxyobj.JMProxyDriver,如果是非标支持的数据库,则参照对应项目化部署手册配置。
  • 连接url:自动生成,需要修改ip地址、端口号、数据库名为实际情况

数据库URL、账号密码,可联系数据库厂商提供,以下是不同库的URL连接示例:

注:信创部署工具安装时配置过数据库URL也可以参照部署时的信息填写

# 达梦连接url(示例)
jdbc:dm://10.3.4.206:5236/SEEEYON

# 人大金仓连接url(示例):
jdbc:kingbase8://10.3.4.192:54321/SEEYON?clientEncoding=UTF-8

# 神通数据库连接url(示例):
jdbc:oscar://10.6.8.130:2003/SEEYON(这里填写神通数据库创建时的填写的数据库名)

# 南大通用连接url(示例)
jdbc:gbasedbt-sqli://127.0.0.1:9088/gbasev5:GBASEDBTSERVER=seeyonoa;DB_LOCALE=zh_CN.utf8;SQLMODE=Oracle;DELIMIDENT=y;CASE_SENSITIVE=N;IFX_LOCK_MODE_WAIT=10

# Mysql连接url(示例)
jdbc:mysql://127.0.0.1:3306/seeyon?autoReconnection=true

# Oracle连接url(示例)
jdbc:oracle:thin:@127.0.0.1:1521:seeyon

# SQLServer连接url(示例)
jdbc:sqlserver://127.0.0.1:1433;DatabaseName=v3x;maxStatements=0;SelectMethod=cursor;socketTimeout=1800000;trustServerCertificate=true

正常的JDBC数据源基本属性配置如下:

1735980638142.png

下一步,数据库连接池设置,修改最大连接数为500,最小空闲连接数为50:

正常情况下最大连接数500能满足10000以内在线用户的的日常办公

1735980655971.png

下一步,验证连接属性,保持默认,不做调整:

1735980675211.png

下一步,高级属性,泄露超时时间调整为10秒,其余不用改变,配置之后点击完成。

1735980692274.png

完成后,在连接池管理页面,点击测试连接,提示“数据库连接成功”则表示基本配置OK:

img

# 东方通7.0.4 部署启动应用

接下来就是准备部署应用启动,部署启动前,先在OA程序/base/license目录放置-N加密授权(本手册部署位置位于/data/Seeyon/V5/base/license/)。

加密授权激活一般是找一台Windows环境,使用标准产品安装包SeeyonInstall中的updateDog绑定当前东方通服务器的Mac地址

1713150515820.png

OA目录放置授权完成后,开始部署启动应用,登录东方通控制台,在"应用管理"中,点击[部署应用],进行协同应用额部署,如下图示:

img

我们需要依次部署ROOT、seeyon、static、sportal这几个应用,参考如下方式操作:

部署ROOT:

部署ROOT时,部署应用选择“服务器”,地址指向OA程序目录webapps/ROOT:

1735980713914.png

ROOT的应用前缀设置为/(不是/ROOT),部署这个路径之后,浏览器通过IP端口就能自动跳转到/seeyon的OA登录页

部署超时统一修改为最大的3600,后续其它几个应用均采用这个超时配置:

1735980731425.png

虚拟主机统一选择下拉列表中的server:

1735980745265.png

部署seeyon:

ROOT部署后,后其它应用部署都是类似的,部署路径先选择协同OA程序webapps下的同名目录:

1735981113433.png

后续几个应用的应用前缀保持默认,应用名称是什么,前缀就是什么,只需要统一修改部署超时时间为3600即可,配置如下图所示:

1735981127657.png

首次部署seeyon需要等待几分钟左右,因为部署的时候就等于在执行seeyon的启动,需要等待服务启动完成。

启动日志检查: 首次部署seeyon应用时,务必通过东方通的日志来观察部署进度:

cd /data/TongWeb7.0.4.9_M4_Enterprise_Linux/logs/
# 到东方通logs日志目录下,查看日志进度
tail -f server.log

如果配置存在错误,还会导致部署失败,东方通进程退出,我们需要结合上面东方通的server.log日志和OA启动日志分析原因:

协同OA的日志存放于OA程序ApacheJetspeed/logs_sy目录下,启动日志通过ctp.log和error.log等日志结合分析:

1735981140282.png

如果遇到部署失败导致东方通控制台都无法访问,此时可能是OA异常导致中间件进程退出,我们需要先根据日志排查分析解决问题后再重新东方通服务,重新部署seeyon。直至seeyon启动成功,并且东方通下seeyon保存成功为止。

如果遇到了启动报错等问题,无从下手,可以调到下面“常见部署问题”部分,对照检查是否有解决方案。

再往后,static、sportal应用目录就参照seeyon配置一遍即可:

部署顺序 OA安装程序路径(示例) 应用前缀 应用程序名称 部署超时 选择虚拟主机
1 /data/Seeyon/V5/ApacheJetspeed/webapps/ROOT / ROOT 3600 server
2 /data/Seeyon/V5/ApacheJetspeed/webapps/seeyon /seeyon seeyon 3600 server
3 /data/Seeyon/V5/ApacheJetspeed/webapps/static /static static 3600 server
4 /data/Seeyon/V5/ApacheJetspeed/webapps/sportal /sportal sportal 3600 server

但几个应用都出现在应用管理列表时,就表示部署基本成功:

1735981153413.png

如果OA处于启动状态,我们可以通过应用管理列表ROOT或seeyon的“http访问”链接打开协同OA登录页:

1735981165151.png

协同OA登录页,东方通给应用的默认端口是8088,我们可以记住这个地址,后续通过URL地址访问。

新客户可以使用账户密码init-admin/123456登录系统初始化基础数据,老客户使用原账号密码登录即可。

1735981179729.png

常见部署问题:

1、首次部署/seeyon点击“下一步”卡住:这个是正常现象,正在启动OA,如果卡住超过10分钟则不是正常现象,要看日志排查!

2、首次部署/seeyon时,东方通控制台页面突然无法访问:原因是部署启动/seeyon报错了,需要到中间件logs/server.log和OA程序ApacheJetspeed/logs_sy目录下根据日志分析排除故障,然后kill东方通进程,重新启动东方通再重新部署/seeyon。

3、首次部署/seeyon时,超过10分钟无反应:参考问题2,排查日志。并且关注中间件日志和OA日志是否在暴增,注意及时停止服务,清理异常的日志,防止磁盘空间占满。

4、如果东方通7.0.4.9_M3及更高版本遇到OA启动报错问题,需要设置server jsf="true",可参考这个在线解决方案尝试处理 https://open.seeyoncloud.com/#/faq/faq/v1/share?url=Z2JySmU+MjQ6OA==

5、PC可以预览,但移动端不行,移动端M3查看正文预览显示net::ERR_BLOCKED_BY_RESPONSE,需要删除东方通jvm配置-Dtongweb.X_Frame_Options=SAMEORIGIN,解决方案参考在线文档 https://open.seeyoncloud.com/#/faq/faq/v1/share?url=Z2JySmU+MzEy

6、信创部署启动提示Name "jdbc/ctpDataSource" not found,解决方案参考在线文档 https://open.seeyoncloud.com/#/faq/faq/v1/share?url=Z2JySmU+NDMyNQ==

# 东方通7.0.4协同OA部署HTTPS

如果是协同OA单机部署,配置协同OA的https有多种方式,如果没有特殊要求,建议采用Nginx前置代理+SSL方案:保持中间件及容器中的OA不变(默认http),单独部署一个前置Nginx服务,由Nginx配置SSL并且代理到OA内部服务器。

如果是信创中间件,配置https后还需要发起支持单申请一个补丁包,解决在线编辑预览外网https不可用问题,参考支持单号:JSFW-2024-02417

Nginx部署、参数配置及SSL配置可以完全参考OA集群部署手册

# 以下标记*号的参数根据项目情况按需调整,其余不用动
server {
    listen 443 ssl;  # *监听 443 端口,启用 SSL
    server_name oa.seeyoncloud.com;  # *https服务器名称设置为域名访问地址
    charset utf-8;

    ssl_certificate ssl/oa.crt;  # *SSL 证书文件路径
    ssl_certificate_key ssl/oa.key;  # *SSL 证书密钥文件路径
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;

    location / {
        proxy_pass http://192.168.94.130:8088/;  # *将请求代理到内部OA服务
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
		proxy_redirect http:// $scheme://;

        # 设置超时时间
        proxy_connect_timeout 300;
        proxy_read_timeout 300;
        proxy_send_timeout 300;
    }

    # 自定义错误页面
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root html;
    }
}

# 东方通7.0.4 OA程序升级

如果早期使用信创部署工具安装部署的OA,后期OA存在升级需求,则只需要下载OA最新版本的XinChuang,使用信创部署工具一键升级即可。

# 东方通7.0.4日常运维

# 东方通7.0.4启停中间件和启停OA

可视化启停: (如果东方通处于启动状态)可以通过中间件控制台进行启动和停止(主要是启停/seeyon应用):

img

命令启动中间件: 如果可视化启动不行,可以到东方通/bin目录下执行./startservernohup.sh,启动中间件的同时OA也自动启动了:

cd /data/TongWeb7.0.4.9_M4_Enterprise_Linux/bin
./startservernohup.sh

命令停止中间件: 如果可视化停止不行,可通过kill与东方通相关的java进程停止东方通:

# 通过kill进程(注意如果当前服务器还启动了其它java应用,需要区别,别误杀了)
ps -ef | grep java
kill -9 进程ID

# 东方通7.0.4访问中间件管理控制台

管理JVM、JDBC、OA目录都在控制台下。

浏览器输入http://东方通服务IP:9060/console)访问东方通7.0.4控制台,默认账号名为thanos,密码都会重新修改,请务必记录好密码。

如无法访问控制台,首先确认服务是否启动,然后确认防火墙是否放开了对应端口!

1735981386739.png

# 东方通7.0.4进入OA登录页

如果不知道OA地址,可以通过东方通管理控制台-应用管理-seeyon或ROOT访问,点击http访问即可:

img

# 东方通7.0.4下OA集群部署

本大章节特指东方通7.0.4单机部署,如需集群部署,则需要在本手册基础上参考信创集群部署章节操作。

# 东方通7.0.4注意事项

本大章节仅适用于东方通7.0.4*系列版本,不适用早期版本或更高版本(如TW7.0.8、TW8.0)

# 东方通下协同应用部署(旧版)

此章节适用于东方通7.0.4之前版本参照。

将部署包拷贝至东方通服务器,并解压在不包含空格、特殊字符的路径中。

# 东方通的安装(旧版)

注意:安装前需要设置系统变量JAVA_HOME,否则无法启动安装程序。

执行./Install_TW6.1.5.12_Enterpris_Linux.bin(文件名以实际情况为准)

Jdk(要求jdk8系列jdk1.8.0_201以上版本)位置可以自己选择,选择到bin目录即可。

这一步选择的位置是东方通的物理安装地址,东方通的文件存放在该目录(注意:路径不能有中文)

这一步选择的位置是东方通启动和卸载脚本的软连接路径。

点击安装即可,安装结束后如下图,system-http-listener所显示的端口是东方通启动后,访问控制台时所使用的端口,如果有修改,请访问对应的端口进入控制台。

至此,安装结束,可以在/home/thtf/tongweb(该目录为安装过程中选择的安装文件夹)中找到对应的东方通文件。

# 东方通的授权文件(旧版)

东方通的正常使用需要授权文件(一般为license.dat),在购买中间件时应及时获取授权文件,在安装后将授权文件放置在安装目录的根目录下。

# (自动)配置mime-type(旧版)

将以下内容增加在东方通conf/default-web.xml的mime-mapping段中:

<mime-mapping>
	<extension>cab</extension>
	<mime-type>application/vnd.ms-cab-compressed</mime-type>
</mime-mapping>

# (自动)调整tongweb.xml(旧版)

调整uri-encoding为utf-8(涉及多个listener):

# (自动)调整tongweb.properties(旧版)

将以下jar包添加至tongweb.properties的tongweb.util.scan.DefaultJarScanner.jarsToSkip(如果没有,则可以不添加)中:

jakarta.activation-api.jar,commons-compress.jar,jakarta.mail.jar,rngom.jar,jakarta.xml.soap-api.jar,jakarta.xml.bind-api.jar,kotlin-stdlib-jdk8.jar,jackson-jaxrs-xml-provider.jar,woodstox-core.jar,kotlin-stdlib.jar,jackson-jaxrs-json-provider.jar,lombok.jar,jakarta.activation.jar,aspose-words-jdk17.jar,txw2.jar,dtd-parser.jar,jackson-dataformat-xml.jar,aspose-words-jdk17-1.0.0.jar,relaxng-datatype.jar,sqlite-jdbc.jar,codemodel.jar,snakeyaml.jar,jackson-jaxrs-base.jar,rxjava.jar,bcpkix-jdk15on.jar,istack-commons-tools.jar,jackson-dataformat-yaml.jar,byte-buddy.jar,kotlin-stdlib-jdk7.jar,xsom.jar

# (自动)调整jar包(旧版)

将9.0协同安装路径/Seeyon/A8/V5/ApacheJetspeed/webapps/seeyon/WEB-INF/lib/下log4j-api.jar、log4j-core.jar、log4j-1.2-api.jar、log4j-jcl.jar、seeyon-ctp-jdbcproxydriver.jar、druid.jar、jmx_prometheus_javaagent.jar剪切到TongWeb/lib/目录下。

将9.0协同安装路径/Seeyon/A8/V5/ApacheJetspeed/webapps/seeyon/WEB-INF/lib/下commons-logging.jar、seeyon-ctp-dbpool.jar、seeyon-ctp-log-log4j.jar、disruptor.jar、woodstox-core-asl.jar、stax2-api.jar、stax-api.jar、guava.jar复制到TongWeb/lib/目录下。

确保删除/Seeyon/A8/V5/ApacheJetspeed/webapps/seeyon/WEB-INF/lib/seeyon-ctp-jdbcproxydriver.jar是删除的。

将所用数据库驱动jar文件放至TongWeb/lib/目录下,重启东方通服务。

# (自动)容器配置(旧版)

登录东方通控制台后,设置默认应答容器的字符集为UTF-8,默认请求参数解码字符集修改为ISO-8859-1(7.0.4.0以前版本为utf-8),并重启东方通服务。重启后检查容器配置中字符集是否已调整,若未调整可修改东方通的配置文件tongweb.xml

# (自动)线程池配置(旧版)

登录东方通控制台后》WEB容器配置》HTTP通道管理》tong-http-listener》

调整io模式为nio,线程池属性 调整初始线程100 最大线程数为4096

1722930251355.png

# (自动)东方通7.0系列需要修改的配置(旧版)

进入虚拟主机管理,

添加属性cacheMaxSize,值为1000000

启动参数中设置以下四项参数,如果没有则添加

-DenableJPA=false

-Dopenejb.webservices.enabled=false

-DWebModuleOnly=true

-Djava.awt.headless=true

将xercesImpl.jar(一般在webapps/seeyon/WEB-INF/lib目录)剪切至TongWeb/lib/

注意:以下配置在东方通7.0.4.x版本中需要修改,以前版本不需要修改。

容器配置-默认请求参数解码字符集修改为ISO-8859-1(东方通7.0.4.0以前版本为utf-8)

WEB容器配置-HTTP通道管理-其他设置-uri处理不勾选

# (自动)JVM参数配置(旧版)

在东方通的bin/external.vmoptions中设置jvm参数,参数示例:

#jvm_options -XX:+UseG1GC -Xms8G -Xmx8G -XX:MetaspaceSize=2G -XX:MaxMetaspaceSize=2G -XX:ReservedCodeCacheSize=1G -XX:GCLogFileSize=10m -XX:NumberOfGCLogFiles=8 -XX:+UseGCLogFileRotation -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:/seeyon/V5/ApacheJetspeed/logs (此处目录需要替换为当前环境的部署目录,并且若logs不存在,需要手动创建)

-Djava.awt.headless=true -Dibm.stream.nio=true -Djava.net.preferIPv4Stack=true -Dsun.zip.disableMemoryMapping=true -XX:MaxMetaspaceSize=2G

1713149379703.png

1729520546533.png

在东方通的bin/external.vmoptions文件中,增加jdbcproxydriver.driverclass数据库驱动类名配置(针对所用数据库配置指定信息):

人大金仓:-Djdbcproxydriver.driverclass=com.kingbase8.Driver

达梦:-Djdbcproxydriver.driverclass=dm.jdbc.driver.DmDriver

神通:-Djdbcproxydriver.driverclass=com.oscar.Driver

南大通用:-Djdbcproxydriver.driverclass=com.gbasedbt.jdbc.Driver

MySQL: -Djdbcproxydriver.driverclass=com.mysql.jdbc.Driver

SQLServer: -Djdbcproxydriver.driverclass=com.microsoft.sqlserver.jdbc.SQLServerDriver

Oralce:-Djdbcproxydriver.driverclass=oracle.jdbc.driver.OracleDriver

# (自动)修改phantomjs(旧版)

Phantomjs适配arm芯片类型+uos/kylin环境:

进入部署包needcopy\arm_phantomjs目录,根据操作系统选择对应目录,uos操作系统进入uos目录,麒麟操作系统进入kylin目录,得到如下目录结构:

将除phantomjs_linux64以外的文件,uos环境复制到/lib/aarch64-linux-gnu/目录,银河麒麟环境复制到/usr/lib64/(均为绝对路径,而非在ApacheJetspeed目录下)。并运行以下命令:

cd /lib/aarch64-linux-gnu/ 或者 cd /usr/lib64/

ln -s libssl.so.1.0.0 libssl.so.10

ln -s libcrypto.so.1.0.0 libcrypto.so.10

复制phantomjs_linux64文件至/Seeyon/A8/V5/ApacheJetspeed/webapps/seeyon/common/phantomjs/bin,覆盖原有phantomjs_linux64和phantomjs_linux64_arm文件,授予可执行权限,测试CAP4截图服务是否正常。

芯片类型(MIPS),修改部署包以下路径的文件名:

/Seeyon/A8/V5/ApacheJetspeed/webapps/seeyon/common/phantomjs/bin下的phantomjs_linux64_mips:为MIPS芯片的文件,修改文件名为phantomjs_linux64,覆盖已有的phantomjs_linux64,授予可执行权限,测试CAP4截图服务是否正常。

# (自动)放置产品标识文件(旧版)

将部署包deploytools/file/productiden中的7z文件,按产品线(A8-1:A8+企业版、A8-2:A8+集团版、A8N-1:A8-N企业版、A8N-2:A8-N集团版)解压我们所需部署对应版本,解压后的目录ApacheJetspeed覆盖部署目标目录V5的ApacheJetspeed。

# 放置license(旧版)

将产品授权license注册后(注册使用标准产品安装包中的updateDog),放置在协同安装路径/Seeyon/A8/V5/base/license下。

1713150515820.png

# 启动东方通(旧版)

使用东方通bin目录下的startserver.sh启动。

建议使用以下命令启动服务,以防终端退出致服务停止:nohup ./startserver.sh &

注意:若使用高版本JDK配置,JVM参数配置了-XX:+UseG1GC,可能会出现启动失败的问题:

遇到此类问题可以检查修改Tongweb/bin/external.options文件。

确保配置文件#jvm_options模块中存在参数-XX:+UnlockExperimentalVMOptions,并且一定要在-XX:+UseG1GC位置之前。

# (自动)关闭东方通压缩功能,设置POST请求最大字节数(旧版)

登录控制台,在"WEB容器配置"-"HTTP通道管理"中,将http通道的各listener中"压缩属性"设置为"不使用",其他设置中,设置POST请求最大字节数为-1。

# 配置数据源(旧版)

登录控制台,在"JDBC配置"中点击[创建连接池],依次填写信息,如下图示:

*注意:若数据库非达梦、神通、人大金仓、数据库驱动需要先手动拷贝到中间件TongWeb/lib/下。

  • 名称:jdbc/ctpDataSource

  • 资源类型:Datasource

  • Ip类型:ipv4

  • 数据库类型:选择所使用的数据库类型。其中dameng为达梦,Kingbase为人大金仓,oscar为神通数据库。

  • 达梦、人大金仓、神通、南大通用数据库驱动类名均修改为:com.seeyon.ctp.monitor.perf.jdbcmonitor.proxyobj.JMProxyDriver

  • 连接url:自动生成,需要修改ip地址、端口号、数据库名为实际情况

  • 达梦连接url(示例):

jdbc:dm://10.3.4.206:5236/SEEEYON
  • 人大金仓连接url(示例):
jdbc:kingbase8://10.3.4.192:54321/SEEYON?clientEncoding=UTF-8
  • 神通数据库连接url(示例):
jdbc:oscar://10.6.8.130:2003/SEEYON(这里填写神通数据库创建时的填写的数据库名)
  • 南大通用连接url(示例):
jdbc:gbasedbt-sqli://127.0.0.1:9088/gbasev5:GBASEDBTSERVER=seeyonoa;DB_LOCALE=zh_CN.utf8;SQLMODE=Oracle;DELIMIDENT=y;CASE_SENSITIVE=N;IFX_LOCK_MODE_WAIT=10
  • Mysql连接url(示例):
jdbc:mysql://127.0.0.1:3306/seeyon?autoReconnection=true
  • Oracle连接url(示例):
jdbc:oracle:thin:@127.0.0.1:1521:seeyon
  • SQLSerVer连接url(示例):
jdbc:sqlserver://127.0.0.1:1433;DatabaseName=v3x;maxStatements=0;SelectMethod=cursor;socketTimeout=1800000;trustServerCertificate=true
  • 用户名、密码填写实际情况。

  • 连接参数:暂无修改

  • 驱动路径:点击浏览进行文件选择,选择与数据库版本一致的驱动,建议从安装后的数据库目录中拷贝。

下一步时将提示数据库连接拒绝,先不处理。

初始化连接数、最大连接数不可大于数据库自身限制。最大连接数建议设置500。

数据源连接超时设置为10

其他配置保持默认,暂无需调整。

完成后,点击测试连接,提示数据库连接成功。

# OBS配置(旧版)

注意:不支持将历史附件迁移至obs,只支持新部署使用或者新附件存入obs

对于使用OBS的环境,需配置OBS相关参数。

信创中间件(东方通、金蝶、宝兰德等)需要增加jvm参数:

-Dobs.config.path=应用绝对路径/base/conf/obs.properties

OA配置:

开启远程对象存储 #是否开启远程对象存储(默认值:false)

Access Key #对象存储的Access Key

Security Key #对象存储的Security Key

endPoint #对象存储的URL

桶名 #对象存储的桶名

路径 #需要把文件保存到远端对象存储的路径(多个路径用","分隔);使用CtpFile操作文件时,如果文件全路径中包含如下路径,就会保存到远程对象存储中,否则只会存储到本地

注意:

当前版本仅适配华为云对象存储;

OBS模式已按照插件方式开发,需要在加密狗中授权OBS模式,然后对应的配置才会生效,否则配置不生效

# 部署应用(旧版)

登录控制台,在"应用管理"中,点击[部署应用],进行协同应用(/Seeyon/A8/V5/ApacheJetspeed/webapps下的应用)部署,如下图示:

建议将应用包放置在服务器上,进行部署。

逐个选择放在服务器上的各应用目录,如:ROOT、seeyon、static、sportal。点击[开始部署]。

注意:部分版本需要配置部署超时时间如下图:若存在此参数,则将部署超时配置为3600,若配置页不存在此参数,则无需配置。

其中ROOT的应用前缀为"/",其他应用保持原名称不变,如seeyon应用前缀为"/seeyon",static应用前缀为"/static",sportal应用前缀为"/sportal",类加载顺序:子优先。

点击下一步进行"虚拟主机设置",选择server虚拟主机。点击"下一步"。

点击"完成",完成应用部署。

# 日志检查(旧版)

  • 东方通日志:

若为nohup启动,可以检查东方通bin目录下的nohup.out。亦可检查东方通logs目录下的server.log。

  • 产品日志(启动应用后产生):

在协同安装路径/Seeyon/A8/V5/ApacheJetspeed/log_sy下

# 应用启动及访问(旧版)

在"应用管理"中,启动已部署的应用。启动完成可使用http访问,检查对应的应用是否可访问。特别说明:后续重启应用,需要重启东方通服务。

协同系统预置的用户:

1713151051690.png

说明:8.2版本在安装过程中会设置一个初始化账号和密码,安装完成后只有此账号可以登录系统,通过登录初始化账号来完成初始组织建立和初始管理员角色分配,分配的管理员作为标准系统中正常使用的管理员,并且初始化账号完成设置退出系统后账号会失效。(如是升级安装则原系统中的管理员会无效,同样通过初始化账号重新分配管理员);

# 访问控制台(旧版)

控制台地址格式:http://TongWebIP:9060/console,9060为默认端口(端口修改在东方通conf/commandsenv.conf)

管理控制台地址示例:http://192.168.225.215:9060/console

管理员登录名(默认):thanos

管理员密码(默认):thanos123.com

# 金蝶V9协同应用部署

将部署包拷贝至金蝶服务器,并解压在不包含空格、特殊字符的路径中。

# 金蝶V9产品准备

上传并解压安装介质,如:

unzip AAS-V9.0-20191025.zip -d AASV9.0/

# 金蝶V9的授权文件

金蝶的正常使用需要授权文件(一般为license.xml),在购买中间件时应及时获取授权文件,在安装后将授权文件放置在安装目录的根目录下。

# 金蝶V9创建域

使用信创部署工具前,需要先将域创建好 ,信创部署工具金蝶V9自动配置需要将中间件路径配置到域路径。

使用金蝶目录bin下的config进行域的新建。

运行./config,输入数字1。

cd /home/greatwall/xinchuang/AASV9.0/bin

./config

域名、服务端口可以在新建域的过程中设置,域名可以设置为"seeyon",端口设置为系统不冲突的端口。

# (自动)调整apusic.conf

编辑域目录下config/apusic.conf(如AASV9.0/domains/seeyon/config/apusic.conf),调整以下内容:

<ATTRIBUTE NAME="ServletReloadCheckInterval" VALUE="-1"/>

修改为

<ATTRIBUTE NAME="ServletReloadCheckInterval" VALUE="3"/>

# (自动)调整域web.xml

编辑域目录下config/web.xml(如AASV9.0/domains/seeyon/config/web.xml),增加/调整以下内容:

<mime-mapping>
        <extension>cab</extension>
        <mime-type>application/vnd.ms-cab-compressed</mime-type>
</mime-mapping>
<context-param>
	<param-name>request.charsetencoding</param-name>
	<param-value>UTF-8</param-value>
</context-param>

# (自动)调整vm.options

编辑ASSV9.0/domains/seeyon/config/vm.options文件,将以下Key对应的值调整为以下内容:

apusic.http.disabledMethods=DELETE,PUT,TRACE,OPTIONS
com.apusic.elite.fnLength=50

# (自动)修改jvm配置

根据推荐配置,修改jvm参数。

1、通过配置文件修改,如:

cd AASV9.0/domains/seeyon/bin/

vim startapusic

1729520775374.png

OTHERS_JVMOPTS="-server -Djava.net.preferIPv4Stack=true这后面空格,新增配置 -Djava.awt.headless=true -XX:ReservedCodeCacheSize=1G -Dsun.zip.disableMemoryMapping=true并与其后其它配置空格隔开

GC_JVMOPTS="" 参数中增加-XX:GCLogFileSize=10m -XX:NumberOfGCLogFiles=8 -XX:+UseGCLogFileRotation -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:/seeyon/V5/ApacheJetspeed/logs (此处目录需要替换为当前环境的部署目录,并且若logs不存在,需要手动创建)

在OTHERS_JVMOPTS增加jdbcproxydriver.driverclass数据库驱动类名配置(针对所用数据库配置指定信息,注意前后空格隔开):

人大金仓:-Djdbcproxydriver.driverclass=com.kingbase8.Driver

达梦:-Djdbcproxydriver.driverclass=dm.jdbc.driver.DmDriver

神通:-Djdbcproxydriver.driverclass=com.oscar.Driver

南大通用:-Djdbcproxydriver.driverclass=com.gbasedbt.jdbc.Driver

MySQL: -Djdbcproxydriver.driverclass=com.mysql.jdbc.Driver

SQLServer: -Djdbcproxydriver.driverclass=com.microsoft.sqlserver.jdbc.SQLServerDriver

Oralce:-Djdbcproxydriver.driverclass=oracle.jdbc.driver.OracleDriver

MEMORY_JVMOPTS="-Xms8G -Xmx8G -XX:MaxPermSize=2G"

1713151207058.png

2、通过控制台修改,进入控制台---系统参数---JVM参数

# 金蝶V9专用系统(SM机)修改jvm配置

根据推荐配置,修改jvm参数,以下步骤以创建的域为mydomain做说明,路径/opt/AAS为例。

1、通过配置文件修改,如:

cd /opt/AAS/domains/mydomain/bin/

在此目录下创建data.xml配置文件,内容为

<?xml version="1.0" encoding="utf-8"?>
<data>
  <aaspram>-Djava.security.egd=file:/dev/./urandom</aaspram>
  <aasjvm>-server -XX:+UseG1GC -Xms48g -Xmx48g -XX:MaxMetaspaceSize=2G -XX:ReservedCodeCacheSize=1G -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Dsun.zip.disableMemoryMapping=true -Xloggc:/opt/AAS/domains/mydomain/logs/aasgc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps  -Djdbcproxydriver.driverclass=???</aasjvm>
  <aasgc></aasgc>
  <!-- aasexport>/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.x86_64/jre</aasexport -->
  <aasexport></aasexport>
  <jdkversion></jdkversion>
</data>

另外,跟进不同数据库调整其中蓝色标记的jvm参数

人大金仓:-Djdbcproxydriver.driverclass=com.kingbase8.Driver

达梦:-Djdbcproxydriver.driverclass=dm.jdbc.driver.DmDriver

神通:-Djdbcproxydriver.driverclass=com.oscar.Driver

南大通用:-Djdbcproxydriver.driverclass=com.gbasedbt.jdbc.Driver

MySQL: -Djdbcproxydriver.driverclass=com.mysql.jdbc.Driver

SQLServer: -Djdbcproxydriver.driverclass=com.microsoft.sqlserver.jdbc.SQLServerDriver

Oralce:-Djdbcproxydriver.driverclass=oracle.jdbc.driver.OracleDriver

2、专用系统(SM机)启动命令不同,使JVM参数生效用以下命令启动金蝶服务:

nohup /opt/AAS/bin/startas mydomain >/dev/null 2>&1 &

# (自动)调整jar包

对金蝶及产品的jar(以下需要调整的jar包,如果在ApacheJetspeed/lib以及ApacheJetspeed/webapps/seeyon/WEB-INF/lib目录均无法找到,则不做调整)包做以下调整:

  • 把/Seeyon/A8/V5/ApacheJetspeed/webapps/seeyon/WEB-INF/lib/xalan.jar拷贝到金蝶的AASV9.0\lib\endorsed目录中。

  • 把/Seeyon/A8/V5/ApacheJetspeed/webapps/seeyon/WEB-INF/lib/serializer.jar拷贝到金蝶的AASV9.0\lib\endorsed目录中。

  • 删除金蝶的jar包AASV9.0\lib\ext\jaxrs-api-2.3.6.Final.jar,此jar包中的类和seeyon\WEB-INF\lib下的javax.ws.rs-api.jar冲突

  • 删除金蝶的人大金仓驱动jar包AASV9.0\lib\ kingbase8开头的.jar文件,此jar包和配置数据源拷贝的人大金仓包有冲突(如果没有该文件请忽略)

  • 把/Seeyon/A8/V5/ApacheJetspeed/lib下的

websocket-api.jar剪切到AASV9.0\domains\seeyon(创建的域)\lib下

  • 把/Seeyon/A8/V5/ApacheJetspeed/webapps/seeyon/WEB-INF/lib 或V5/ApacheJetspeed/lib下的

seeyon-ctp-jdbcproxydriver.jar、seeyon-ctp-dbpool.jar、seeyon-statistics.jar、log4j-1.2-api.jar、log4j-jcl.jar、log4j-api.jar、log4j-core.jar、jmx_prometheus_javaagent.jar剪切到AASV9.0\domains\seeyon\lib下

  • 将\Seeyon\A8\V5\ApacheJetspeed\webapps\seeyon\WEB-INF\lib\commons-logging.jar、druid.jar、guava.jar、seeyon-ctp-log-log4j.jar、disruptor.jar、woodstox-core-asl.jar、stax2-api.jar、stax-api.jar复制到AASV9.0\domains\seeyon\lib下,并删除\Seeyon\A8\V5\ApacheJetspeed\webapps\seeyon\WEB-INF\lib\druid.jar

  • /Seeyon/A8/V5/ApacheJetspeed/webapps/seeyon/WEB-INF/lib下一定不能有、不能有、不能有 seeyon-ctp-jdbcproxydriver.jar

  • 将所用数据库驱动jar文件拷贝至AASV9.0\domains\seeyon\lib目录下,重启金蝶服务。

# (自动)修改phantomjs

Phantomjs适配arm芯片类型+uos/kylin环境:

进入部署包needcopy\arm_phantomjs目录,根据操作系统选择对应目录,uos操作系统进入uos目录,麒麟操作系统进入kylin目录,得到如下目录结构:

{

将除phantomjs_linux64以外的文件,uos环境复制到/lib/aarch64-linux-gnu/目录,银河麒麟环境复制到/usr/lib64/(均为绝对路径,而非在ApacheJetspeed目录下)。并运行以下命令:

cd /lib/aarch64-linux-gnu/ 或者 cd /usr/lib64/

ln -s libssl.so.1.0.0 libssl.so.10

ln -s libcrypto.so.1.0.0 libcrypto.so.10

复制phantomjs_linux64文件至V5/ApacheJetspeed/webapps/seeyon/common/phantomjs/bin,覆盖原有phantomjs_linux64和phantomjs_linux64_arm文件,授予可执行权限,测试CAP4截图服务是否正常。

芯片类型(MIPS),修改部署包以下路径的文件名:

/Seeyon/A8/V5/ApacheJetspeed/webapps/seeyon/common/phantomjs/bin下的

phantomjs_linux64_mips:为MIPS芯片的文件,修改文件名为phantomjs_linux64,覆盖已有的phantomjs_linux64,授予可执行权限,测试CAP4截图服务是否正常。

# (自动)放置产品标识文件

将部署包deploytools/file/productiden中的7z文件,按产品线(A8-1:A8+企业版、A8-2:A8+集团版、A8N-1:A8-N企业版、A8N-2:A8-N集团版)解压我们所需部署对应版本,解压后的目录ApacheJetspeed覆盖部署目标目录V5的ApacheJetspeed。

# 金蝶V9放置license

将产品授权license注册后(注册使用标准产品安装包中的updateDog),放置在协同安装目录/Seeyon/A8/V5/base/license下。

1713151337569.png

# 启动金蝶V9

首次启动,使用域目录bin下的startapusic启动服务,会提示输入管理员[admin]的密码,建议以./startapusic启动服务:

后续启动建议采用以下格式启动,以免终端工具退出致服务终止:nohup ./startapusic &

# 金蝶V9访问控制台

控制台地址格式:http://服务器IP地址:[端口]/admin 【创建新域时录入的端口】

管理控制台地址示例:http://192.168.105.135:6888/admin (opens new window)

管理员登录名:admin

管理员密码:Admin1234 【首次启动服务时录入的密码】

# 金蝶V9配置数据源

登录控制台,在"数据源"中点击[添加数据源]:

依次填写信息,如下图示:

*注意:若数据库非达梦、神通、人大金仓、Mysql、SQLserver、Oracle数据库驱动需要先手动拷贝到中间件AASV9.0\domains\seeyon\lib目录下。

  • JNDI:jdbc/ctpDataSource

  • 达梦、人大金仓、神通、南大通用数据库驱动类名均修改为:com.seeyon.ctp.monitor.perf.jdbcmonitor.proxyobj.JMProxyDriver

  • 达梦连接url(示例):

jdbc:dm://10.3.4.206:5236/SEEEYON
  • 人大金仓连接url(示例):
jdbc:kingbase8://10.3.4.192:54321/SEEYON?clientEncoding=UTF-8
  • 神通数据库连接url(示例):
jdbc:oscar://10.6.8.130:2003/SEEYON(这里填写神通数据库创建时的填写的数据库名)
  • 南大通用连接url(示例):
jdbc:gbasedbt-sqli://127.0.0.1:9088/gbasev5:GBASEDBTSERVER=seeyonoa;DB_LOCALE=zh_CN.utf8;SQLMODE=Oracle;DELIMIDENT=y;CASE_SENSITIVE=N;IFX_LOCK_MODE_WAIT=10
  • Mysql连接url(示例):
jdbc:mysql://127.0.0.1:3306/seeyon?autoReconnection=true
  • Oracle连接url(示例):
jdbc:oracle:thin:@127.0.0.1:1521:seeyon
  • SQLSerVer连接url(示例):
jdbc:sqlserver://127.0.0.1:1433;DatabaseName=v3x;maxStatements=0;SelectMethod=cursor;socketTimeout=1800000;trustServerCertificate=true
  • 用户名、密码依据实际情况填写

  • 类路径:点击浏览进行文件选择,选择与数据库版本一致的驱动,建议从安装后的数据库目录中拷贝,建议将驱动jar放置在金蝶域的lib下。人大金仓驱动路径如:

find /home/kingbase/Kingbase -name kingbase8\*.jar

# 金蝶V9部署应用

登录控制台,在"应用管理"中进行协同应用(/Seeyon/A8/V5/ApacheJetspeed/webapps下的应用)部署。若存在默认的应用,需卸载。

部署时选择"服务器应用"

逐个选择放在服务器上的各应用目录,等待部署完成。如:ROOT(上下文/),seeyon(上下文/seeyon)、static(上下文/static),sportal(上下文/sportal),进行部署:

# 金蝶V9日志检查

  • 金蝶日志:

若为nohup启动,可以检查金蝶domains/xxx/bin目录下的nohup.out。亦可检查金蝶domains/xxx/logs目录下的apusic.log。

  • 产品日志(启动应用后产生):

在协同安装目录/Seeyon/A8/V5/ApacheJetspeed/log_sy下

# 金蝶V9应用启动及访问

在"应用管理"中,启动已部署的应用。启动完成可访问地址:http://服务器IP地址:[端口]【创建域时录入的端口】检查应用是否可访问。

协同系统预置的用户:

1713151571404.png

说明:8.2版本在安装过程中会设置一个初始化账号和密码,安装完成后只有此账号可以登录系统,通过登录初始化账号来完成初始组织建立和初始管理员角色分配,分配的管理员作为标准系统中正常使用的管理员,并且初始化账号完成设置退出系统后账号会失效。(如是升级安装则原系统中的管理员会无效,同样通过初始化账号重新分配管理员);

# 金蝶V9部署常见问题

# 1. 配置OA集群时报错,单机正常启动

1737696718641.png

1737696891902.png

1737696922165.png

单机没问题是因为单机根本就不需要运行初始化redis得代码 看起来是jsf初始化扫描配置一些类,结果扫到OA得maincontroller了

OA没有使用jsf,因此可以去掉这个类(修改前注意备份),再重启中间件尝试,启动正常

1737697020021.jpg

关联支持单:JSFW-2025-00291

# 金蝶V10协同应用部署

# 金蝶V10准备

使用金蝶V10前,通过java -version命令检查当前系统是否已经安装openjdk8。如未安装请自行安装或联系系统厂商准备合适的jdk8(小版本号推荐1.8.0_372),并配置JAVA_HOME、PATH、CLASSPATH环境变量:

1732983538500.png

上传并解压金蝶V10安装介质:

# 本例是将金蝶V10压缩包放置到/data目录
cd /data
unzip AAS-V10.zip -d AASV10

金蝶V10从第一次启动开始,就需要授权文件(一般为license.xml),我们需要将授权文件放置到名为aas目录的下一层,参考命令mv license.xml /data/AASV10/ApusicAS/aas

1732983556291.png

# 金蝶V10初始化

放置授权文件后,到ApusicAS/bin目录进行第一次启动,初次启动会让你设置三员密码,并自动创建一个名为mydomain的域,控制台会输出Admin Port,记住这个端口号,后面登录用:

cd /data/AASV10/ApusicAS/bin/
./asadmin start-domain

文本描述已自动生成

浏览器输入http://金蝶服务器IP:端口(默认6848)访问金蝶V10控制台,主要管理员是admin,使用初始化金蝶时自定义的密码登录。记住这个地址,后续很多操作都是围绕这个地址进行。

1732983586540.png

# 金蝶V10部署OA

准备XinChuang.zip包:

从致远商务公布的安装程序下载地址中,下载对应版本的XinChuang.zip部署包,并解压到系统中:

# 同样将XinChuang.zip解压到/data/目录进行操作
mv 2.V9.0SP1_XinChuang.zip /data/
cd /data
unzip 2.V9.0SP1_XinChuang.zip

1732983606183.png

关于XinChuang部署工具:

XinChuang包中有一个信创部署工具,是致远自研产品,工具将很多人工操作的步骤写到程序中,由工具程序来自动完成。包括并不仅限于:配置JVM、调整jar包、设置产品标识、部署OA程序、导入数据库脚本等,极大提升部署效率,减少错误率。

只要使用信创部署工具安装OA,后续OA版本升级,也可以用信创部署工具一键平滑升级。故能用信创部署工具的环境,一定都用工具做部署、升级!

信创部署工具部署模式:

OA信创部署工具位于XinChuang/deploytools目录下,支持图形界面部署和命令行静默部署两种方式,如果有图形化界面,建议优先使用图形界面方式。

  • 图形化部署:使用命名含GUI的deployGUI-for-版本号-产品线.sh程序启动

  • 命令行部署:使用命名含cli的deploycli-for-版本号-产品线.sh程序启动

# 金蝶V10-信创部署工具图形化安装

本小节适用于带图形化的Linux或信创操作系统。

安装前,首先确定一个OA程序的安装路径,通过mkdir -p /data/Seeyon命令创建目录,以后OA程序就在/data/Seeyon目录下维护。

安装前,还要确保金蝶中间件已经准备就绪,并且已经准备好了一个domain域(默认mydomain也可以),程序会针对域写入配置。

安装前,确认好客户使用什么数据库,如果是当前版本标准产品支持的数据库,则只需要初始化一个空库,信创工具会自动写入SQL数据。

以上准备就绪后,参考如下命令启动图形化部署工具:

# 到XinChuang部署目录deploytools
cd /data/2.V9.0SP1_XinChuang/deploytools
# 先赋予可执行权限(如果是G6则操作G6N结尾的可执行文件)
chmod +x deployGUI-for-V9.0SP1-A8N.sh
# 再启动GUI可执行程序(如果是G6则操作G6N结尾的可执行文件)
./deployGUI-for-V9.0SP1-A8N.sh

1732983626676.png

图形化参数说明:

安装/升级: 全新部署勾选“安装”选项,已经通过工具安装过OA,本次升级版本则选“升级”选项。

CPU: 目前支持ARM、MIPS、x86三类,根据当前系统实际情况选择

系统: 只有CPU类型为ARM时才需要选择,支持选项:统信uos、麒麟kylin

中间件: 根据实际情况选择,金蝶V10就选ApusicV10,金蝶V9就选ApusicV9

协同路径: 可自定义,比如本例设置为/data/Seeyon,此目录需要提前创建,未创建目录会报错

中间件路径: 对应金蝶的domain域路径,启动金蝶服务时控制台就会打印出domain Location,默认是mydomain,拷贝此路径到工具中即可

1732983676090.png

协同产品线、在线人数: 根据实际情况选择,在线人数尽量预估准确,不同在线人数,工具会给不同的JVM配置

数据库: 下拉列表中能选到的就是标准支持的库,只要准备好空库,工具会自动向空库中写入OA初始化SQL;如数据库不在标准支持范围,则下拉列表选择“不初始化数据库”,这类“不初始化数据库”场景,在工具部署完成后,需要手动初始化数据。

JDBCDriver: 根据选择的数据库自动生成,无需修改

JDBC URL: 需要修改IP、端口、库名(数据库空库需要提前创建,见前面章节说明)

数据库用户、密码: 根据实际情况填写

以上填写完整后,先进行“验证参数”,通过后再“部署”,部署需要一定时间,请耐心等待。

1732983688528.png

如数据库选择“不初始化数据库”,则如下错误提示可以忽略(部署是成功的):

1732983704907.png

完成部署后,手工关闭安装程序退出。

信创部署工具日志文件位于:2.V9.0SP1_XinChuang/deploytools/logs目录下,如遇到部署异常可通过日志分析问题。

# 金蝶V10-信创部署工具命令行静默安装

命令行部署,又叫静默部署,适用于无法通过图形化安装的场景。

第一步:修改installConfig.properties

通过修改信创部署目录XinChuang/deploytools/cfgHome/installConfig.properties配置文件,配置必要的参数:

# 到XinChuang部署目录deploytools/cfgHome
cd /data/2.V9.0SP1_XinChuang/deploytools/cfgHome/
# 修改installConfig.properties文件参数
vim installConfig.properties

installConfig.properties配置文件中的参数与图形化部署界面一模一样,这里面的参数直接参考上一个图形化安装章节填写。

再次提醒:请不要凭感觉填写配置,认真参考“图形化部署”章节,熟悉每一个配置和注意事项后再操作!

如下是一个示例截图,本示例选择安装A8-N集团版、数据库选择MySQL、提前创建好OA的程序目录mkdir -d data/Seeyon、中间件部署路径指向金蝶V10的domain地址:

1732983738231.png

第二步:修改deploycli脚本,设置状态为install

找到我们本次要命令行启动执行的sh脚本文件,修改一点配置:

# 到XinChuang部署目录deploytools
cd /data/2.V9.0SP1_XinChuang/deploytools
# 修改命令行启动脚本文件(如果是G6则操作G6N结尾的可执行文件)
vim deploycli-for-V9.0SP1-A8N.sh

修改sh脚本文件里末尾的参数,将默认的upgrade(更新升级)改为install(安装部署):

1729309734017.png

第三步:执行命令行部署sh脚本:

先赋予可执行权限,再执行sh脚本:

# 到XinChuang部署目录deploytools
cd /data/2.V9.0SP1_XinChuang/deploytools
# 先赋予可执行权限(如果是G6则操作G6N结尾的可执行文件)
chmod +x deploycli-for-V9.0SP1-A8N.sh
# 再启动GUI可执行程序(如果是G6则操作G6N结尾的可执行文件)
./deploycli-for-V9.0SP1-A8N.sh

信创部署工具日志文件位于:2.V9.0SP1_XinChuang/deploytools/logs目录下,如遇到部署异常可通过日志分析问题。

# 金蝶V10纯手工部署OA(无法工具部署场景)

已经通过信创部署工具安装的客户,请直接跳过本小节!

如果当前系统没有办法执行信创部署工具,也无条件对信创部署工具进行rpm打包,可以参考本章节操作进行OA程序的纯手工部署,部署之后,后续所有章节操作都需要一个一个手工配置!

第一步:新建OA程序的存放目录,比如mkdir -p /data/Seeyon/V5,后续OA程序全放这下面

第二步:将2.V9.0SP1_XinChuang/V5/ApacheJetspeed.7z解压到/data/Seeyon/V5

# 确保当前系统安装了7z解压工具,解压文件到OA程序目录下
7z x ApacheJetspeed.7z -o/data/Seeyon/V5
# 如果7z不可用,尝试7za命令,或者检查是否按照了7z解压工具
7za x ApacheJetspeed.7z -o/data/Seeyon/V5

以上解压后,OA的目录层级格式务必是/data/Seeyon/V5/ApacheJetspeed/webapps这样的结构,如果不是,请尝试重新操作!

第三步:剪切、拷贝各种jar,特别注意不同版本、不同jar是剪切还是拷贝都有严格要求,务必参考要求执行:

# 移动文件(将OA下WEB-INF/lib的指定jar剪切到中间件lib下)
mv /data/Seeyon/V5/ApacheJetspeed/webapps/seeyon/WEB-INF/lib/{seeyon-ctp-jdbcproxydriver.jar,druid.jar,log4j-1.2-api.jar,log4j-jcl.jar,log4j-api.jar,log4j-core.jar,jmx_prometheus_javaagent.jar} /data/AASV10/ApusicAS/lib/

# 拷贝文件(将OA下WEB-INF/lib的指定jar复制一份到中间件lib下)
cp /data/Seeyon/V5/ApacheJetspeed/webapps/seeyon/WEB-INF/lib/{xalan.jar,serializer.jar,seeyon-ctp-dbpool.jar,guava.jar,commons-logging.jar,seeyon-ctp-log-log4j.jar,disruptor.jar,woodstox-core-asl.jar,stax2-api.jar,stax-api.jar} /data/AASV10/ApusicAS/lib/

# 拷贝文件(将OA的/ApacheJetspeed/lib下的jar拷贝到中间件lib下)
cp /data/Seeyon/V5/ApacheJetspeed/lib/{websocket-api.jar,seeyon-statistics.jar} /data/AASV10/ApusicAS/lib/

# 拷贝文件(将XinChuang的)
cp /data/2.V9.0SP1_XinChuang/deploytools/file/jdbc/mysql-connector-j-8.0.33.jar /data/AASV10/ApusicAS/lib/mysql-connector-j-8.0.33.jar

第四步:找到OA的ApacheJetspeed/webapps/seeyon/WEB-INF目录,新建文件apusic-web.xml,文件中添加如下内容:

<aas-web-app error-url="">
        <class-loader delegate="false">
        <property name="ignoreParentsFiles" value="true"></property>
        <property name="ignoreResources" value="META-INF/services/org.glassfish.jersey.server.spi.ComponentProvider;META-INF/services/org.glassfish.jersey.servlet.internal.spi.ServletContainerProvider"></property>

        <property name="ignoreClassPrefix" value="org.glassfish.jersey"></property>
        </class-loader>
</aas-web-app>

以上手工操作务必一步步按顺序执行,不要错过任何一步。

# 金蝶V10调整JVM参数

系统管理员admin登录金蝶控制台(http://金蝶服务器IP:端口(默认6848)),访问配置管理-server-config-JVM配置-JVM选项,检查必须的JVM配置:

1732983802599.png

1、垃圾回收器必须选择:G1并保存

1732983815199.png

2、搜索-Xmx参数,用于分配给OA的最大堆内存,信创部署工具会根据设置的人数自动写入推荐值,如需调整直接在此修改即可,比如申请32G堆内存则配置-Xmx32G

一般行业通用标准,Xmx内存取服务器的50%-70%总内存,如果在线人数不高,也不必申请过高内存

1732983833434.png

3、搜索-Dcom.sun.enterprise.overrideablejavaxpackages=javax.ws,org.apache.taglibs.standard参数,如不存在,则务必将其手动添加到JVM选项中:

1732983894010.png

4、搜索-Djdbcproxydriver.driverclass,如果是标准产品支持的数据库, 则一定要有此参数,如不存在,务必将其手动添加到JVM选项中,填写规范如下:

  • 达梦填写-Djdbcproxydriver.driverclass=dm.jdbc.driver.DmDriver

  • 金仓填写-Djdbcproxydriver.driverclass=com.kingbase8.Driver

  • 神通填写-Djdbcproxydriver.driverclass=com.oscar.Driver

  • 南大通用填写-Djdbcproxydriver.driverclass=com.gbasedbt.jdbc.Driver

  • MySQL填写-Djdbcproxydriver.driverclass=com.mysql.jdbc.Driver

  • SQLServer填写-Djdbcproxydriver.driverclass=com.microsoft.sqlserver.jdbc.SQLServerDriver

  • Oralce填写-Djdbcproxydriver.driverclass=oracle.jdbc.driver.OracleDriver

1732983926162.png

如果不是标准产品支持的数据库,则根据对应非标数据库项目化部署手册中的说明来确定是否配置,如无需配置则从JVM中删除此参数!

1732983939639.png

5、搜索-Dsun.zip.disableMemoryMapping=true,如不存在,则务必将其手动添加到JVM选项中:

1732983951167.png

6、搜索如下两个JVM选项,如果不存在或值过小,则按如下参数调整并保存:

-XX:MaxMetaspaceSize=2G
-XX:ReservedCodeCacheSize=1G

1732983962083.png

# 金蝶V10线程池保持默认

配置管理-server-config线程池保持默认的配置即可,不用修改,正常配置如下:

1734947583056.png

# 金蝶V10协同OA打补丁(可选)

此步骤主要面对非标准支持数据库的项目化适配场景,务必提前打好适配代码,再进行数据库连接配置及启动。

注意补丁包打包位置:大部分jar放置于OA程序的seeyon/WEB-INF/lib下,还有少量jar放置在金蝶中间件lib下,项目上要根据情况核对清楚并确保打包正确。

# 金蝶V10 JDBC数据源配置

注意:除了MySQL、SQLServer、Oracle这三家非国产数据库外,其余所有国产化数据库在配置数据源前,都必须从数据库厂商侧获取与当前数据库版本相匹配的JDBC驱动jar,并将其放置到金蝶中间件aas/lib目录下!放置后必须重启一次金蝶服务!

XinChuang安装包中虽然有达梦、金仓等国产化数据库驱动jar,但与客户版本不匹配,只能用作执行初始化SQL语句,实测启动OA时遇到复杂SQL就会有大量莫名报错,故务必使用厂商的驱动jar。

1732983980354.png

admin账号登录金蝶管理控制台,访问资源管理-JDBC-JDBC连接池,检查是否有OA的seeyon连接池配置,没有就新建。

1732983993040.png

连接池名称: 填写seeyon

资源类型: 选择java.sql.Driver

数据库驱动程序供应商: 一般都录入seeyon

1732984012798.png

下一步, 驱动程序类名称: 产品支持的数据库均选择com.seeyon.ctp.monitor.perf.jdbcmonitor.proxyobj.JMProxyDriver

数据库URL、账号密码,可联系数据库厂商提供,以下是不同库的URL连接示例:

# 达梦连接url(示例)
jdbc:dm://10.3.4.206:5236/SEEEYON

# 人大金仓连接url(示例):
jdbc:kingbase8://10.3.4.192:54321/SEEYON?clientEncoding=UTF-8

# 神通数据库连接url(示例):
jdbc:oscar://10.6.8.130:2003/SEEYON(这里填写神通数据库创建时的填写的数据库名)

# 南大通用连接url(示例)
jdbc:gbasedbt-sqli://127.0.0.1:9088/gbasev5:GBASEDBTSERVER=seeyonoa;DB_LOCALE=zh_CN.utf8;SQLMODE=Oracle;DELIMIDENT=y;CASE_SENSITIVE=N;IFX_LOCK_MODE_WAIT=10

# Mysql连接url(示例)
jdbc:mysql://127.0.0.1:3306/seeyon?autoReconnection=true

# Oracle连接url(示例)
jdbc:oracle:thin:@127.0.0.1:1521:seeyon

# SQLServer连接url(示例)
jdbc:sqlserver://127.0.0.1:1433;DatabaseName=v3x;maxStatements=0;SelectMethod=cursor;socketTimeout=1800000;trustServerCertificate=true

初始和最小池大小: 生产环境设置50

最大池大小: 生产环境设置500,另外数据库侧也要确保配置的maxconnections>=500

1732984040327.png

建议开启连接验证

1736304489649.png

事务隔离级别不做调整,由数据库和驱动控制:

1734943653610.png

保存之后,尝试ping一下连接,如果无法ping通,则查看金蝶中间件OA域下的server.log日志分析原因。

1732984052673.png

以上完成后,访问资源管理-JDBC-JDBC资源,选择新建:

1732984066525.png

JNDI名称: 必须是jdbc/ctpDataSource

连接池名称: 选择上一步创建的seeyon

以上完成后,点击确定即可。

1732984079507.png

# 金蝶V10 部署启动应用

接下来就是准备部署应用启动,部署启动前,先在OA程序/base/license目录放置-N加密授权。

OA目录放置授权完成后,开始部署启动应用,进入应用管理菜单,选择部署按钮:

1732984099955.png

路径:选择“可以从 Apusic Server 访问的本地打包文件或目录”,这里指向OA安装程序部署目录,我们需要按下面列表中的顺序一个一个部署:

部署顺序 OA安装程序路径(示例) 上下文路径 应用程序名称
1 /data/Seeyon/V5/ApacheJetspeed/webapps/ROOT / ROOT
2 /data/Seeyon/V5/ApacheJetspeed/webapps/seeyon /seeyon seeyon
3 /data/Seeyon/V5/ApacheJetspeed/webapps/static /static static
4 /data/Seeyon/V5/ApacheJetspeed/webapps/sportal /sportal sportal

常见部署问题:

1、首次部署/seeyon点击“下一步”卡住:这个是正常现象,正在启动OA,如果卡住超过10分钟则不是正常现象,要看日志排查!

2、首次部署/seeyon时,金蝶控制台页面突然无法访问:原因是部署启动/seeyon报错了,需要到中间件domain/logs/server.log和OA程序ApacheJetspeed/logs_sy目录下根据日志分析排除故障,然后kill金蝶进程,重新启动金蝶再重新部署/seeyon。

3、首次部署/seeyon时,超过10分钟无反应:参考问题2,排查日志。并且关注中间件日志和OA日志是否在暴增,注意及时停止服务,清理异常的日志,防止磁盘空间占满。

4、信创部署启动提示Name "jdbc/ctpDataSource" not found,解决方案参考在线文档 https://open.seeyoncloud.com/#/faq/faq/v1/share?url=Z2JySmU+NDMyNQ==

5、金蝶V10部署OA V9.0以上版本的/seeyon,第一次大概率都无法启动:通过查看日志,能看到Unable to call method addListener on servlet context seeyon这样的错误信息,这个是金蝶中间件未适配好Servlet 3.0的ServletContext.addListener导致。处理方法是联系金蝶分析出补丁包。测试环境临时解决方法:可以从致远公司系统的讨论《【高频咨询】关于金蝶V10中间件部署9.0、9.0SP1系列版本无法启动的问题》下载补丁,补丁文件aas-web-core.jar替换到aas/modules/目录里。

参考资料 https://open.seeyoncloud.com/#/faq/faq/v1/share?url=Z2JySmU+Mzk5Og==

1732984266387.png

1732984286014.png

4个应用按顺序部署,部署完成后的效果如下,我们可以点击“访问”按钮访问OA系统:

1732984301032.png

访问OA系统正常页面如下,新客户可以使用账户密码init-admin/123456登录系统初始化基础数据,老客户使用原账号密码登录即可:

1732984315492.png

5、浏览器不带/seeyon无法访问到OA登录页,希望通过IP端口就能自动跳转到OA登录页:

解决方案:需要参考“部署启动应用”章节部署ROOT,如果已经部署过则修改或删除重新部署一遍ROOT就能解决问题。

1735276293645.png

1735276407070.png

# 金蝶V10协同OA部署HTTPS

如果是协同OA单机部署,配置协同OA的https有多种方式,如果没有特殊要求,建议采用Nginx前置代理+SSL方案:保持中间件及容器中的OA不变(默认http),单独部署一个前置Nginx服务,由Nginx配置SSL并且代理到OA内部服务器。

如果是信创中间件,配置https后还需要发起支持单申请一个补丁包,解决在线编辑预览外网https不可用问题,参考支持单号:JSFW-2024-02417

Nginx部署、参数配置及SSL配置可以完全参考OA集群部署手册

# 以下标记*号的参数根据项目情况按需调整,其余不用动
server {
    listen 443 ssl;  # *监听 443 端口,启用 SSL
    server_name oa.seeyoncloud.com;  # *https服务器名称设置为域名访问地址
    charset utf-8;

    ssl_certificate ssl/oa.crt;  # *SSL 证书文件路径
    ssl_certificate_key ssl/oa.key;  # *SSL 证书密钥文件路径
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;

    location / {
        proxy_pass http://192.168.94.128:6888/;  # *将请求代理到内部OA服务
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
		proxy_redirect http:// $scheme://;

        # 设置超时时间
        proxy_connect_timeout 300;
        proxy_read_timeout 300;
        proxy_send_timeout 300;
    }

    # 自定义错误页面
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root html;
    }
}

# 金蝶V10 OA程序升级

如果早期使用信创部署工具安装部署的OA,后期OA存在升级需求,则只需要下载OA最新版本的XinChuang,使用信创部署工具一键升级即可。

# 金蝶V10日常运维

# 金蝶V10启停中间件和启停OA

启动中间件:到ApusicAS/bin目录下执行./asadmin start-domain,启动中间件的同时OA也自动启动了:

cd /data/AASV10/ApusicAS/bin
./asadmin start-domain

启动不了,一般是查看domain下的logs日志。比如数据库连不上会导致金蝶启动失败,需要先确保数据库先启动,然后kill金蝶所有进程再重新启动金蝶。

停止中间件:可执行stop-domain或者kill

# 稳妥方案执行命令停止
cd /data/AASV10/ApusicAS/bin
./asadmin stop-domain

# 如果还有问题,则需要执行kill进程(有多个aas,需要每个都kill掉)
ps -ef | grep aas
kill -9 进程ID

# 金蝶V10访问中间件管理控制台

管理JVM、JDBC、OA目录都在控制台下。

浏览器输入http://金蝶服务器IP:端口(默认6848)访问金蝶V10控制台,主要是admin登录,密码是第一次初始化金蝶自己设置的密码。

1732984417183.png

# 金蝶V10进入OA登录页

如果不知道OA地址,可以通过金蝶管理控制台-应用管理-seeyon访问:

1732984453209.png

# 金蝶V10注意事项

1、金蝶V10管理控制台下的“集群管理”与OA集群没有任何关系,OA集群参考集群部署章节操作。

2、如果检查配置全部正确,但依然各种莫名奇怪的异常错误,或启动OA后一些莫名错误,考虑取一个较新的金蝶V10发行版(不要打通用补丁包)重新部署。

# 全文检索部署

若使用全文检索功能,则进行以下内容的配置。

# JAVA_HOME配置

信创部署包中的Search为全文检索部署包,无需安装,使用前需修改配置文件config/jvm.properties中的search_java为实际路径

注意:

jdk不能部署于/root或者其子目录下(影响全文检索服务启动)

search_java路径配置的值必须带双引号

  • Search/config/jvm.properties中search_java参数

# 参数配置

# 全文检索服务的参数配置

参数配置文件:Search/config/application.properties,修改文件内容的参数进行配置调整。注意修改后文件格式应为UTF-8编码。

参数说明(其他未描述参数不需要修改):

  • server.ip:全文检索服务器的ip,与协同分离部署时,填写协同服务可以访问到的ip地址

  • a8.server.url:A8访问地址,填写全文检索可以访问到的协同地址url

  • regist.code:全文检索配置中心注册码,在协同system用户"微服务配置"-"全文检索配置"中获取

  • server.port: 服务监听端口,全文检索服务使用的端口,端口冲突则导致服务不可用

  • path_data:索引数据目录,全文检索服务存储的索引文件

# 索引数据迁移

由 8.0 以后的老版本升级到 8.2 版本的情况下,将升级前的全文检索服务的索引数据目录复制移动到新安装的全文检索服务的数据目录位置,这样才可以在启动全文检索服务以后正常使用历史索引数据。

全文检索索引数据目录默认路径为 Search/ES/base/data,如果自定义了索引数据目录,则参看12.2.1节配置说明中的 path_data 配置项的值对应的路径,如果配置的相对路径,则是指相对于 Search/ES/elasticsearch 目录,例如 ../base/data 对应的路径是 Search/ES/base/data。

# 协同服务的参数配置

使用部署包V5/ApacheJetspeed/conf/SeeyonConfig.sh启动协同的配置工具(需要图形界面):

修改"插件参数设置"中的index.xxx的参数,说明如下(未描述的不需要修改):

  • index.a8_to_search:协同提供给全文检索服务的端口,需要对全文检索服务器放开

  • index.index_a8Ip:协同提供给全文检索的ip地址,需要全文检索服务可以访问此ip

  • index.search_to_a8:协同提供给全文检索服务的端口,需要对全文检索服务器放开

# 系统分区路径

配置系统分区中的"全文检索网络映射路径"。该路径配置的为"分区路径"目录在全文检索服务器上的路径。若"分区路径"的目录非全文检索服务器上的磁盘,则需将对应的磁盘挂载至全文检索服务器,并设置挂载后的目录。

# 服务启动/停止

使用Search下的startup.sh启动服务,shutdown.sh停止服务。

# 索引重建

全文检索8.2版本针对检索匹配效果做了优化,如果不需要使用下面图示新特性的情况下,不需要执行本章节索引重建操作:

图 全文检索三种匹配模式切换

全文检索服务安装程序提供了重建索引工具,位于安装目录下的 es-upgrade 文件夹下。

# 工具使用说明

(1) 第一步,启动运行升级工具

进入全文检索服务安装目录下的es-upgrade 文件夹下,Windows 双击运行启动脚本 startup.bat,linux 系统下运行 startup.sh 脚本。启动后的升级程序界面如下:

Windows系统启动后界面

Linux系统启动界面

启动后的界面为升级配置界面,具体说明请参照升级配置说明

(2) 第二步,环境检查

完成第一步启动界面的相关配置后,点击【下一步】按钮,进入到升级环境检查界面:

点击【下一步】,执行当前界面的升级环境检查。根据检查结果的处理提示,进行相应问题的处理后,接着点击【下一步】继续环境检查,直到所有的检查项都通过,如下:

(3) 第三步,索引重建

在完成上一步【环境检测】处理后,进行【下一步】操作,进入当前的索引重建界面,点击【下一步】,开始索引重建处理,直到处理完成:

重建索引完成后,点击【完成】按钮,结束升级程序即可。然后正常进行索引服务的启动即可进行全文检索服务的检索验证和使用。

# 脚本工具

对于不支持可视化的Linux系统,提供了shell版本的升级脚本 es-upgrade.sh,位于全文检索服务安装根目录下的es-upgrade 目录下。

在登录Linux系统后,进入es-upgrade 目录下,编辑脚本需要的配置文件 es-upgrade.properties,添加或者修改相应的配置项,如下图,各配置项对应的说明,请参照升级配置项说明

在当前目录下运行 es-upgrade.sh 脚本文件,直到命令行提示索引重建完成,过程中检测到正在运行的elasticsearch服务,提示关闭ES进程,请选择是(y):

# 配置说明

  • ES启动用户名

Linux系统下需要的配置项,Linux系统用户名,默认为es_search,不允许修改。用于启动elasticsearch服务,因为elasticsearch本身的安全机制的限制,不允许直接使用root用户启动。

  • ES启动用户组

Linux系统下需要的配置项,Linux系统用户名所属用户组,默认为es_search,不允许修改。

  • ES路径

新安装的8.2版本的全文检索服务的ES部署路径,位于全文检索服务安装目录下的 ES/elasticsearch,请选择到该文件夹。

# OfficeTrans在线预览服务部署

若使用OfficeTrans在线预览服务,则进行以下内容的配置。

# JAVA_HOME、RmiServer配置

信创部署包中的OfficeTrans为在线预览部署包,无需安装,使用前需修改conf/jvm.properties中的JAVA_HOME(修改为jdk的实际路径)、-Djava.rmi.server.hostname(修改为OfficeTrans的实际ip)参数:

注意:

JAVA_HOME路径配置的值必须带双引号

# 参数配置

OfficeTrans/conf/rmi.properties

参数说明,两个参数皆为RMI服务的端口,该端口协同服务需访问,冲突则导致服务无法启动。

rmi.service.port=1097

rmi.service.serviceport=1098

# 协同服务的参数配置

使用部署包V5/ApacheJetspeed/conf/SeeyonConfig.sh启动协同的配置工具(需要图形界面):

修改"系统参数设置"中的officeTrans.xxx的参数,说明如下(未描述的不必须修改):

  • officeTrans.cache.folder:OfficeTrans转换后文件的存放目录,该目录需在OfficeTrans服务器、协同服务器皆可访问。可使用文件目录挂载的方式实现。

  • officeTrans.rmi.host:OfficeTrans对于协同服务的ip地址,协同服务需要可访问此ip地址

  • officeTrans.rmi.port:OfficeTrans对于协同服务的端口,与OfficeTrans的rmi.service.port参数一致

# 服务启动/停止

使用OfficeTrans下的startup.sh启动服务,shutdown.sh停止服务。

# 音视频部署

若使用音视频功能,则进行以下内容的配置。

# 不同芯片可执行程序配置

  • ffmpegbin/ffmpeg.linux_arm、ffmpeg.linux_mips64。

若为ARM芯片,将ffmpeg.linux_arm修改为ffmpeg.linux,覆盖已存在的文件。

若为MIPS芯片,将ffmpeg.linux_mips64修改为ffmpeg.linux,覆盖已存在的文件。

# 服务器上编译安装nginx

  • 自主编译安装nginx

  • Nginx及安装过程中需要的依赖程序的下载链接参考如下:

    • Nginx,参考下载链接(下载stable version,1.22.*):https://nginx.org/en/download.html
    • nginx-sticky-module,参考下载链接:https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/downloads/
    • pcre,参考下载链接:https://sourceforge.net/projects/pcre/files/pcre/
    • openssl,参考下载链接:https://www.openssl.org/source/
    • zlib,参考下载链接:https://zlib.net/
    • 若系统未安装gcc,请使用操作系统安装盘(或安装镜像)进行安装,centos系统可以执行yum install -y gcc gcc-c++
  • 以所有的安装程序位于/home/soft下,nginx的安装目录位于/home/nginx下,依次执行以下命令进行nginx的安装(命令中的安装包名称,以实际下载的为准):

# 切换目录至/home/soft
cd /home/soft
# 以实际下载的文件格式选择tar或zip解压
# 解压tar压缩包
tar -zxvf nginx-1.22.1.tar.gz
tar -zxvf pcre-8.40.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
tar -zxvf openssl-1.1.0g.tar.gz
# 解压zip压缩包
unzip nginx-goodies-nginx-sticky-module-ng-08a395c66e42.zip
# 修改解压后文件夹名,便于后续安装
mv nginx-1.22.1 nginx
mv pcre-8.40 pcre
mv nginx-goodies-nginx-sticky-module-ng-08a395c66e42 nginx-sticky-module
mv zlib-1.2.11 zlib
mv openssl-1.1.0g openssl
# 赋权文件夹
chmod -R 777 nginx
chmod -R 777 openssl
chmod -R 777 zlib
chmod -R 777 nginx-stick-module
chmod -R 777 pcre
# 进行nginx的configure
cd nginx
# 注意以下configure命令为一行
./configure --prefix=/home/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-http_auth_request_module --with-http_random_index_module  --with-http_gzip_static_module --with-pcre=/home/soft/pcre --add-module=/home/soft/nginx-sticky-module --with-openssl=/home/soft/openssl --with-zlib=/home/soft/zlib
  • 注意:如果芯片底层架构为mips,需要进入nginx目录当中,修改objs目录下的Makefile内容,找到其中 && ./config --prefix=/home/thtf/mircoService/nginx_src/openssl-1.0.2u/.openssl(根据实际目录而定) no-shared no-threads \

1713152383872.png

修改为:

&& ./Configure (注意是Configure不是config) linux64-mips64 no-asm --prefix=/home/thtf/mircoService/nginx_src/openssl-1.0.2u/.openssl no-shared no-threads \

修改后保存,如下图:

1713152410115.png

# 编译、安装
make
make install
  • 将编译好的nginx目录拷贝到信创部署包的Mediaservice目录

拷贝后进入Mediaservice/nginx目录,创建日志目录,避免某些环境启动找不到日志目录,执行:mkdir -p logs

  • 修改Mediaservice/nginx/conf/nginx.conf配置文件,内容如下:
# 运行用户 配置项【1】
user  root;

worker_processes  auto;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
   
    keepalive_timeout  65;

server {
    # Nginx监听端口 配置项【2】
        listen       86;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }
        location /media {
        	client_max_body_size 20m;
        	#转发到音视频微服务 配置项【3】
			proxy_pass http://127.0.0.1:6080;
			# 设置header的host包含host及port
			proxy_set_header Host $host:$server_port;
			# 设置header的客户端ip为实际ip
			proxy_set_header X-Real-IP $remote_addr;
			# 设置header的协议为实际使用的协议
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
			# 关闭redirect
			#proxy_redirect     off;
            # 设置超时时间
			proxy_connect_timeout 600;
			proxy_read_timeout 600;
			proxy_send_timeout 600;
			
		}
		location /play {
			#跨域处理
			add_header Access-Control-Allow-Origin * always;
    		add_header Access-Control-Allow-Headers X-Requested-With;
    		add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
			#如果不需要权限校验注释掉这行
			auth_request /auth;
	    	alias ../mediaroot/media;
	        expires -1;  
	    }
		location = /auth {
		    if ($request_uri ~ (ts|jpg|OK)){
				return 200;
		    }
            # 配置项【4】
		    proxy_pass http://127.0.0.1/seeyon/rest/media/verify;
		    proxy_pass_request_body off;
		    proxy_set_header Content-Length "";
		    proxy_set_header X-Original-URI $request_uri;
		    proxy_set_header User-Agent    $http_user_agent;
		    proxy_set_header X-Real-IP        $remote_addr;
		    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		}
    }

}

注意:如果OA使用https进行访问,音视频也需要配置成https.需要将上面的nginx.conf配置成https,进行访问 需要修改的内容如下:

server {
        listen       86 ssl;    #设置为ssl端口
        server_name  localhost;
		#ssl/server.crt和ssl/server.key为证书路径
		ssl_certificate ssl/server.crt;        
        ssl_certificate_key ssl/server.key;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        charset utf-8;

其余的配置项保持一致即可。

Nginx配置说明:

  • 配置项【1】:user root;

Nginx 服务运行用户,默认root,如果使用其它用户须先将整个nginx目录修改用户与组为其它用户后再启动服务;

  • 配置项【2】:listen 86;

Nginx 服务端口,默认86,如果不使用默认端口,请配置相应的端口值;

  • 配置项【3】:proxy_pass http://127.0.0.1:6080;

音视频服务地址,默认为 http://127.0.0.1:6080,如果音视频服务不使用默认 6080 端口,请配置相应的端口值;

  • 配置项【4】:proxy_pass http://127.0.0.1/seeyon/rest/media/verify;

协同服务接口地址,请配置当前协同环境OA服务的实际域名和端口,替换掉上面默认的 http://127.0.0.1/seeyon部分,紧接着后面的部分 /rest/media/verify; 保持不变。

# JAVA_HOME配置

信创部署包中的MediaService为音视频部署包,无需安装,使用前需修改config/jvm.properties中的JAVA_HOME。

注意:

JAVA_HOME路径配置的值必须带双引号

# 参数配置

参数配置文件:MediaService/config/application.properties,修改文件内容的参数进行配置调整。注意修改后文件格式应为UTF-8编码。

regist.code:音视频服务注册码,登录系统管理员在微服务配置页面获取。

server.port:音视频服务的端口,默认6080。

server.ip:音视频服务本机的实际ip地址。

a8.server.url:协同服务的访问地址,注意带应用上下文/seeyon。

service.url:音视频服务对外地址(nginx访问地址),不能设置为127.0.0.1,纯内网环境设置局域网地址,涉及外网访问需设置为映射到外网的地址。

media.authorizedIps:音视频服务信任的ip地址,填写协同服务的ip地址,多个地址逗号隔开,127.0.0.1勿删。

media_path:音视频服务存储音视频文件的目录。

Xmx参数:内存大小

media.running_in_container:是否是容器化部署

# 服务启动/停止

使用MediaService下的startup.sh启动服务,shutdown.sh停止服务。

# 信创环境下集群部署

产品的集群环境需要Redis服务,及web负载服务。Web负载可以使用软件负载Nginx,或硬件负载F5等。

以下说明Nginx服务、Redis服务在信创环境下的部署配置,以及协同服务集群的配置。

# Nginx的部署配置

# 部署Nginx

  • 自主编译安装nginx

  • Nginx及安装过程中需要的依赖程序的下载链接参考如下:

    • Nginx,参考下载链接(下载stable version,1.22.*):https://nginx.org/en/download.html
    • nginx-sticky-module,参考下载链接:https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/downloads/
    • pcre,参考下载链接:https://sourceforge.net/projects/pcre/files/pcre/
    • openssl,参考下载链接:https://www.openssl.org/source/
    • zlib,参考下载链接:https://zlib.net/
    • 若系统未安装gcc,请使用操作系统安装盘(或安装镜像)进行安装,centos系统可以执行yum install -y gcc gcc-c++
  • 以所有的安装程序位于/home/soft下,nginx的安装目录位于/home/nginx下,依次执行以下命令进行nginx的安装(命令中的安装包名称,以实际下载的为准):

# 切换目录至/home/soft
cd /home/soft
# 以实际下载的文件格式选择tar或zip解压
# 解压tar压缩包
tar -zxvf nginx-1.22.1.tar.gz
tar -zxvf pcre-8.40.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
tar -zxvf openssl-1.1.0g.tar.gz
# 解压zip压缩包
unzip nginx-goodies-nginx-sticky-module-ng-08a395c66e42.zip
# 修改解压后文件夹名,便于后续安装
mv nginx-1.22.1 nginx
mv pcre-8.40 pcre
mv nginx-goodies-nginx-sticky-module-ng-08a395c66e42 nginx-sticky-module
mv zlib-1.2.11 zlib
mv openssl-1.1.0g openssl
# 赋权文件夹
chmod -R 777 nginx
chmod -R 777 openssl
chmod -R 777 zlib
chmod -R 777 nginx-stick-module
chmod -R 777 pcre
# 进行nginx的configure
cd nginx
# 注意以下configure命令为一行
./configure --prefix=/home/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-http_auth_request_module --with-http_random_index_module  --with-http_gzip_static_module --with-pcre=/home/soft/pcre --add-module=/home/soft/nginx-sticky-module --with-openssl=/home/soft/openssl --with-zlib=/home/soft/zlib
  • 注意:如果芯片底层架构为mips,需要进入nginx目录当中,修改objs目录下的Makefile内容,找到其中

&& ./config --prefix=/home/thtf/mircoService/nginx_src/openssl-1.0.2u/.openssl(根据实际目录而定) no-shared no-threads \

1713152601034.png

修改为: && ./Configure (注意是Configure不是config) linux64-mips64 no-asm --prefix=/home/thtf/mircoService/nginx_src/openssl-1.0.2u/.openssl no-shared no-threads \

修改后保存。

1713152627761.png

# 编译、安装
make
make install

# 配置Nginx

nginx的配置文件为nginx/conf/nginx.conf。请备份nginx.conf文件,然后将以下内容拷贝替换到nginx.conf文件(其中upstream的名称及服务地址依据实际情况进行修改):

worker_processes auto; 
worker_rlimit_nofile 20960; 
error_log  logs/error.log  crit;
events {
    worker_connections  4096;
	multi_accept on; 
	accept_mutex on;
	accept_mutex_delay 500ms; 
}
http {
        server_tokens off;
        sendfile on;
        tcp_nopush on; 
        tcp_nodelay on;
        access_log off;
        include       mime.types;
        default_type  application/octet-stream;
        keepalive_timeout  300;
        client_max_body_size 10240M;
		
        gzip on;		
        gzip_min_length 1k;		
        gzip_buffers 4 16k;		
        gzip_comp_level 3;		
        gzip_types text/xml text/plain text/css text/javascript application/x-javascript application/javascript application/xml;		
        gzip_disable "MSIE [1-6]\.";
		
        upstream seeyon_v5_cluster{
                sticky;
                server 192.168.0.1:80 max_fails=20 fail_timeout=300s;
                server 192.168.0.2:80 max_fails=20 fail_timeout=300s;
        }
		
		server {			
			listen       80;			
			server_name  localhost;			
			charset utf-8;
			
			location / {				
				proxy_pass http://seeyon_v5_cluster;				
				proxy_set_header Host $http_host;				
				proxy_set_header X-Real-IP $remote_addr;
				proxy_set_header REMOTE-HOST $remote_addr;				
				proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;		
				proxy_redirect     off;                
				proxy_connect_timeout 300;
				proxy_read_timeout 300;
				proxy_send_timeout 300;
			}
			error_page   500 502 503 504  /50x.html;
			location = /50x.html {
				root   html;
			}
		}
}

# 启动停止Nginx

以nginx安装在/home/nginx下为例,nginx的启动脚本为/home/nginx/sbin/nginx。启动示例如下:

# 切换命令行到nginx启动脚本目录
cd /home/nginx/sbin
# 启动
./nginx
# 重启
./nginx -s reload
# 停止
./nginx -s stop
# 指定配置文件重启,一般用于nginx异常停止后的启动
./nginx -c /home/nginx/conf/nginx.conf

# 启用https

启用https需要购买ca证书,在购买了证书后,对nginx配置文件(nginx.conf)的server段进行以下调整(其中crt、key文件放在conf/ssl下,文件名以实际为准):

server {
	listen       443 ssl;
	ssl_certificate      ssl/www.seeyon.com.crt;  
	ssl_certificate_key  ssl/www.seeyon.com.key; 
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	# 其他内容不需要修改,省略
}

# Redis的部署配置

Redis服务用于协同集群部署模式时的缓存存放,要求redis版本为5以上。

# 编译安装

安装redis需要gcc,请先安装gcc,可以采用yum安装,命令格式:yum install gcc。

下载redis,下载地址:https://redis.io/download (opens new window)

执行以下命令进行redis安装

# 解压缩下载的文件
tar -zxvf redis-xxxx.tar.gz
# 切换到解压后的目录
cd redis-xxxx
# 执行以下命令编译安装
make
cd src
make  install
# 完成安装

# 配置

修改安装后目录的redis.conf,主要调整以下内容:

# 设置redis为后台启动
daemonize yes
# 增加参数requirepass,设置redis的连接密码,密码为明文设置
requirepass 密码
# 调整redis的访问ip地址,将bind 127.0.0.1调整为redis服务器实际ip
bind  redis服务器实际ip
# 调整redis的端口(视情况定是否调整),需同步调整协同中配置的redis端口
port 6379

# 关闭 Redis RDB 持久化,注释以下四行
# save 900 1
# save 300 10
# save 60 10000
# dbfilename dump.rdb

# 启停redis

启动:

指定配置文件启动,在安装后的redis的src目录,执行:

# 命令示意,redis.conf的目录以实际路径为准
./redis-server /xxxx/redis-xxx/redis.conf

停止:

检查redis进程:ps -aux|grep redis

结束redis进程:kill -15 redis进程号

# 协同的集群配置

使用部署包的V5/ApacheJetspeed/conf/SeeyonConfig进行产品的集群配置(运行需要图形化界面)。

# 主服务配置

主服务的配置,步骤如下:

  • 运行SeeyonConfig,在"服务器设置"页签,选择"服务器设置"项中"集群/双机"选项;

  • 勾选"集群/双机配置"项中"设置当前机器为主服务器",此时"集群/双机标识"项将自动生成集群标识(生成的标识需填写至集群其他从服务器节点);

  • 在"节点配置"项中,填写集群用到的所有节点IP地址,选择"当前节点"对应至当前服务器IP;

  • 配置Redis参数

  • 在"系统参数设置"页签,配置webmail.savePath、officeTarns.cache.folder信息;

  • 进行SeeyonConfig其他配置;

# 从服务配置

从服务的配置,步骤如下:

  • 运行SeeyonConfig,在"服务器设置"页签,选择"服务器配置"项中"集群/双机"选项;

  • 勾选"集群/双机配置"项中"设置当前机器为主服务器",

  • 在"集群/双机标识"项中填写主服务器生成的集群标识;

  • 在"节点配置"项中,填写集群用到的所有节点IP地址,选择"当前节点"对应至当前服务器IP;

  • 配置Redis参数

  • 在"系统参数设置"页签,配置webmail.savePath、officeTarns.cache.folder信息(需与主服务器对应目录的物理存储位置一致);

  • 进行SeeyonConfig其他配置;

集群其他从服务节点,可依次按照上述步骤进行配置。

注:SeeyonConfig的"节点配置"中需填写集群用到的所有节点IP

# Linux系统(含信创)无图形化配置V5集群

# 缓存服务Redis配置

# 单台Redis缓存服务

编辑或者新建base/conf/plugin.properties配置文件,V5集群各个节点都需要执行此操作

redis.enabled = 1

redis.host = 10.3.4.11

redis.port = 6379

redis.password = /2.4/W4sIjUIBoWYH7Jx+adzAfA==

redis.db = 15

其中,

第1行标记部分1为redis单点模式

第2行标记部分10.3.4.11为redis服务ip

第3行标记部分6379为redis服务端口

第4行标记部分/2.4/W4sIjUIBoWYH7Jx+adzAfA==为redis服务密码,客户配置实际密码需要在本地测试环境图形化界面保存以后,复制测试环境此加密串

第5行标记部分15为redis使用的数据库编号,默认15

# 多台Redis缓存服务,三主三从配置

编辑或者新建base/conf/plugin.properties配置文件,V5集群各个节点都需要执行此操作

redis.enabled = 2

redis.cluster.address1 = 10.3.4.11:6379

redis.cluster.address2 = 10.3.4.11:6380

redis.cluster.address3 = 10.3.4.12:6379

redis.cluster.address4 = 10.3.4.12:6380

redis.cluster.address5 = 10.3.4.13:6379

redis.cluster.address6 = 10.3.4.13:6380

redis.cluster.password = /2.4/W4sIjUIBoWYH7Jx+adzAfA==

其中,

第1行标记部分2为redis集群模式,redis服务存在多台,我们支持三主三从

第2行至第7行标记部分10.3.4.11:6379 ~ 10.3.4.13:6380为redis集群各个节点服务地址以及端口

第8行标记部分/2.4/W4sIjUIBoWYH7Jx+adzAfA==为redis集群服务密码,客户配置实际密码需要在本地测试环境图形化界面保存以后,复制测试环境此加密串

# 注意事项

3.1、单台redis或者多台redis配置,只能二选一,配置文件里的内容不能混合存在。如果开始配置plugin.properties文件之前其中已存在redis开头的配置项,备份文件删除这些配置项以后再添加。

3.2、V5集群各个节点都需要配置redis,并且各节点配置内容需要一致。

# 集群主节点

# 编辑或者新建base/conf/cluster.properties配置文件

cluster.localhost=10.3.4.239

cluster.main=true

cluster.port=80

cluster.name=733F9922-BB54-4281-B22E-247977CD8F95

cluster.hosts=10.3.4.239,10.3.4.240

cluster.host.index=239

cluster.enabled=true

其中,

第1行标记部分10.3.4.239为集群主节点本地ip

第2行标记部分集群主节点为true,从节点此处配置为false

第3行标记部分80为协同访问端口,需要与ApacheJetspeed/conf/server.xml中配置的访问端口一致

第4行标记部分733F9922-BB54-4281-B22E-247977CD8F95为集群名称,可以自定义一个字符串,比如seeyon-v8x-cluster,内网中保持唯一就行,主从节点此配置保持一致

第5行标记部分10.3.4.239,10.3.4.240为集群所有节点本地ip,以上举例为集群存在2个节点,主为10.3.4.239,从为10.3.4.240,英语录入状态的逗号将它们隔开,主从节点此配置保持一致

第6行标记部分239为集群当前节点编号,默认以当前节点本地ip最后一位数字,注意集群中所有节点此编号需要不同

# 编辑或者新建base/conf/systemCtp.properties配置文件

公共资源目录,集群环境需要指定,并进行目录共享

系统默认值:${ctp.base.folder}/resources

集群主、从节点该目录的物理存储位置必须一致,影响portal、云联、cap等应用的使用

ctp.public.folder = ${ctp.base.folder}/resources

其中标记部分${ctp.base.folder}/resources可以为集群主从节点附件挂载目录下resources。例如:主、从节点的Z: /data作为共享挂载目录,主、从节点服务器"ctp.public.folder"选项都要替换成Z: /data/resources。

# 编辑ApacheJetspeed/conf/server.xml(tomcat中间件才需要执行此编辑操作)

<Engine name="Catalina" defaultHost="localhost">

修改为

<Engine name="Catalina" defaultHost="localhost" jvmRoute="SY239">

SY239,239为第1步配置文件里集群主节点当前节点编号

# 编辑或者新建base/conf/systemCtp.properties配置文件,配置邮件保存目录以及aspose转换服务

如果需要设置邮件保存目录,编辑V5集群各个节点base\conf\systemCtp.properties配置文件增加:

webmail.savePath = ${ctp.base.folder}/webmail

# ${ctp.base.folder}/webmail 修改为V5集群附件挂载目录下邮件保存专用文件夹

分离部署OfficeTrans转换服务,编辑V5集群各个节点base\conf\systemCtp.properties配置文件增加:

officeTrans.cache.folder = ${ctp.base.folder}/officetrans

# ${ctp.base.folder}/officetrans 修改为V5集群挂载目录下转换文件专用文件夹

officeTrans.file.maxSize = 5120

# 允许转换的文件大小,单位为KB,默认5M

officeTrans.retainDay = 30

# 转换的文件保留天数,30天,设置为0则永不清理

officeTrans.rmi.host = 10.3.4.11

# 转换服务的ip地址10.3.4.11

officeTrans.rmi.port = 1097

# 转换服务的端口,默认1097;默认端口情况下1097、1098端口需要针对V5服务器放开

officeTrans.type = aspose

# 文件转换类型aspose

OfficeTrans目录下startup.sh脚本中,127.0.0.1需要修改为转换服务本地IP地址。

JVM属性设置,其中-Djava.rmi.server.hostname=127.0.0.1配置里的ip地址需要改成转换服务器内网ip,默认端口1097和1098,如果是分离部署需要开放端口让协同服务可以访问。

a1b06958084ab382d28a93a88f42d05

3ec58c6134f1b703b13b37e67c9f648

# 集群从节点,推荐复制主节点配置文件再修改差异处

# 编辑或者新建base/conf/cluster.properties配置文件

cluster.localhost=10.3.4.240

cluster.main=false

cluster.port=80

cluster.name=733F9922-BB54-4281-B22E-247977CD8F95

cluster.hosts=10.3.4.239,10.3.4.240

cluster.host.index=240

cluster.enabled=true

其中,

第1行标记部分10.3.4.240为集群从节点本地ip

第2行标记部分集群从节点为false

第3行标记部分80为协同访问端口,需要与ApacheJetspeed/conf/server.xml中配置的访问端口一致

第4行标记部分733F9922-BB54-4281-B22E-247977CD8F95为集群名称,可以自定义一个字符串,比如seeyon-v8x-cluster,内网中保持唯一就行,主从节点此配置保持一致

第5行标记部分10.3.4.239,10.3.4.240为集群所有节点本地ip,以上举例为集群存在2个节点,主为10.3.4.239,从为10.3.4.240,英语录入状态的逗号将它们隔开,主从节点此配置保持一致

第6行标记部分240为集群当前节点编号,默认以当前节点本地ip最后一位数字,注意集群中所有节点此编号需要不同

# 编辑或者新建base/conf/systemCtp.properties配置文件

公共资源目录,集群环境需要指定,并进行目录共享

系统默认值:${ctp.base.folder}/resources

集群主、从节点该目录的物理存储位置必须一致,影响portal、云联、cap等应用的使用

ctp.public.folder = ${ctp.base.folder}/resources

其中标记部分${ctp.base.folder}/resources可以为集群主从节点附件挂载目录下resources。例如:主、从节点的Z: /data作为共享挂载目录,主、从节点服务器"ctp.public.folder"选项都要替换成Z: /data/resources。

# 编辑ApacheJetspeed/conf/server.xml(tomcat中间件才需要执行此编辑操作)

<Engine name="Catalina" defaultHost="localhost">

修改为

<Engine name="Catalina" defaultHost="localhost" jvmRoute="SY240">

SY240,240为第1步配置文件里集群从节点当前节点编号

# 编辑或者新建base/conf/systemCtp.properties配置文件,配置邮件保存目录以及aspose转换服务

如果需要设置邮件保存目录,编辑V5集群各个节点base\conf\systemCtp.properties配置文件增加:

webmail.savePath = ${ctp.base.folder}/webmail

# ${ctp.base.folder}/webmail 修改为V5集群附件挂载目录下邮件保存专用文件夹

分离部署OfficeTrans转换服务,编辑V5集群各个节点base\conf\systemCtp.properties配置文件增加:

officeTrans.cache.folder = ${ctp.base.folder}/officetrans

# ${ctp.base.folder}/officetrans 修改为V5集群挂载目录下转换文件专用文件夹

officeTrans.file.maxSize = 5120

# 允许转换的文件大小,单位为KB,默认5M

officeTrans.retainDay = 30

# 转换的文件保留天数,30天,设置为0则永不清理

officeTrans.rmi.host = 10.3.4.11

# 转换服务的ip地址10.3.4.11

officeTrans.rmi.port = 1097

# 转换服务的端口,默认1097;默认端口情况下1097、1098端口需要针对V5服务器放开

officeTrans.type = aspose

# 文件转换类型aspose

OfficeTrans目录下startup.sh脚本中,127.0.0.1需要修改为转换服务本地IP地址。

JVM属性设置,其中-Djava.rmi.server.hostname=127.0.0.1配置里的ip地址需要改成转换服务器内网ip,默认端口1097和1098,如果是分离部署需要开放端口让协同服务可以访问。

a1b06958084ab382d28a93a88f42d05

3ec58c6134f1b703b13b37e67c9f648

# 静态化登录前门户配置

# 共享目录配置

集群部署时须要将ApacheJetspeed\webapps\sportal目录主从节点进行相互共享,使得主从服务都能访问sportal下的静态文件和目录。可参考【集群部署手册公共资源目录配置】挂载配置方法。

注意:

1、ApacheJetspeed\webapps\sportal\archive目录是静态化文件的存储目录,所有静态化登录前门户的相关数据文件存放在这里,不能随意删除,否则会造成数据丢失和显示异常。

2、如果升级更新服务,建议升级前先将ApacheJetspeed\webapps\sportal\archive目录进行备份,之后再做升级。

# 静态化登录前门户OBS配置

如果文件服务使用了obs对象存储,静态化登录前门户生成的静态资源也需要进行obs配置。

用文本编辑器打开ApacheJetspeed\webapps\sportal\WEB-INF\sportal.properties文件

1将isRemote 属性改为true,开启obs模式。

2修改remoteFilePrefixPath属性的值,为OA系统的webapps文件夹全路径,需要以文件夹分隔符结尾

3修改remoteFilePath属性的值,为登录前门户静态资源存放的最上层文件夹名称。

示例:

# 登录前门户静态化升级选择

版本升级时,可通过SQL选择将登录前门户升级为静态化门户或非静态化门户(原门户),选择不同的登录前门户形态将平台功能造成不同的影响。

# 通过SQL进行登录前门户静态化/非静态化切换

  1. 转换为静态化的登录前门户
1、升级时自动将登录前门户状态调整为【关闭】:
update portal_set set state = 0 where id = -7779029842361826066

2、将登录前门户默认空间修改为2200000003:
UPDATE portal_global_config SET CONFIG_VALUE='2200000003' where CONFIG_ITEM='-7779029842361826066_defaultTheme'

3、删除guset账户权限状态信息:
delete from ctp_config where CONFIG_ITEM = 'GUESTPERMISSIONSTATUS'

4、删除org_principle表中的guest用户信息:
delete from org_principal where login_name = 'seeyon-guest'

二、转换为非静态化的登录前门户

1、升级时自动将登录前门户状态调整为【关闭】 :

update portal_set set state = 0 where id = -7779029842361826066

2、开启guest账户权限状态:

1、升级时自动将登录前门户状态调整为【关闭】 :
update portal_set set state = 0 where id = -7779029842361826066

2、开启guest账户权限状态:
delete from ctp_config where CONFIG_ITEM = 'GUESTPERMISSIONSTATUS'

INSERT INTO `ctp_config` (`ID`, `CONFIG_CATEGORY`, `CONFIG_CATEGORY_NAME`, `CONFIG_ITEM`, `CONFIG_VALUE`, `CONFIG_DESCRIPTION`, `CREATE_DATE`, `MODIFY_DATE`, `CONFIG_TYPE`, `EXT_CONFIG_VALUE`, `ORG_ACCOUNT_ID`, `SORT`) VALUES (99991111111, 'GUESTPERMISSIONSTATUS', NULL, 'GUESTPERMISSIONSTATUS', 'true', NULL, '2022-05-20 13:32:22', '2022-05-20 13:32:22', NULL, NULL, 1, NULL)

3、创建guest账户:
delete from org_principal where login_name = 'seeyon-guest';

INSERT INTO org_principal (ID, LOGIN_NAME, CREDENTIAL_VALUE, CLASS_NAME, EXPIRATION_DATE, MEMBER_ID, IS_ENABLE, CREATE_TIME, UPDATE_TIME) VALUES 
('-4487202475317442573', 'seeyon-guest', 'PantDJFV/3JQUrkAlrjiYSWQRfs=', NULL, '2017-12-19 19:39:42', '-6964000252392685202', '1', '2017-12-19 19:26:22', '2017-12-19 19:39:42')

4、防止guest账户再次被删除:
update org_member set is_deleted = 0 where id = -6964000252392685202

注意:升级为静态化登录前门户后,将会对平台功能造成影响,详见**"静态化登录前门户&非静态化登录前门户影响范围对比说明"**

  1. # 静态化登录前门户&非静态化登录前门户影响范围对比说明

    1. # 整体影响

1713160170359.png

# 登录前门户静态化

1712913975028.png 1712914005750.png

# 新闻公告静态化

1712914065767.png 1712914338163.png

# 账号管理影响

1713147391279.png

# 相关历史数据变更

1713147405496.png

# 常见问题

  • 问题:

集成外部HTTPS系统时,后台异常:

java.lang.RuntimeException: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

解决方法:

执行以下操作系统命令,更新ssl证书:

sudo rm /etc/ssl/certs/java/cacerts
sudo update-ca-certificates -f
  • 问题:

集成外部HTTPS系统时,后台异常:java.security.InvalidKeyException: Illegal key size

解决方法:

打开以下连接:

https://www.oracle.com/java/technologies/javase-jce8-downloads.html

下载jce_policy-8.zip,将压缩包中的jar包替换:

${jdk_home}/jre/lib/security、${jre_home}/lib/security中的文件

  • 问题:执行SQL文件后数据库中文乱码

解决方法:

删除该库,将SQL文件转为ANSI编码(以notepad++为例:打开SQL文件->编码->转为ANSI编码),重新执行SQL文件。

  • 问题:启动后ctp.log中出现以下异常:

    java.lang.NullPointerException at sun.awt.FontConfiguration.getVersion

解决方法:

安装AWT相关组件,参考以下命令:

yum install fontconfig
fc-cache --force
  • 涉密操作系统安装中间件和部署A8N产品请参照以下两种方式进行:

涉密操作系统厂商安装好对应版本的金蝶或东方通后,通过控制台按手册修改中间件参数后进行A8N产品部署;

或者在涉密操作系统厂商提供的非涉密开发版操作系统上安装中间件并部署A8N的产品后,请涉密厂商协助将部署后的中间件和A8N产品重新打包,并通过涉密操作系统中的"安全配置管理"软件安装重新打包后的产品。

  • 问题:涉密操作系统部署完成后无法启动应用,日志中出现sqlite异常:

ec1b650aea6183cb67d337caedf97cd

**解决方法:**更新sqllite补丁包。

  • 问题:涉密操作系统部署完成功能异常,日志中出现异常:
java.io.IOException: Cannot run program "/opt/V5/ApacheJetspeed/webapps/seeyon/common/phantomjs/bin/phantomjs_linux64": error=13, Permission denied

解决方法:

可执行文件phantomjs_linux64需要通过涉密机专有方式上传,请涉密操作系统厂商处理。

  • 问题:全新环境,能启动,但是登录报NullPointerException

attach_-6835124557540866194

分析中间件日志server.log,将日志拖到最后看到如下异常:

java.lang.NullPointerException

at java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1011)

at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:1006)

at com.seeyon.ctp.portal.manager.PortalCacheManagerImpl.getLoginSettingBy(PortalCacheManagerImpl.java:2275)

at com.seeyon.ctp.portal.api.PortalApiImpl.getLoginSettingBy(PortalApiImpl.java:736)

at com.seeyon.ctp.login.controller.MainController.index(MainController.java:638)

解决方法:此问题是数据原因,门户初始化数据丢失,造成的原因一般是:在信创数据库导入SQL时导入失败。解决办法是:drop数据库,重新执行初始化导入,完成后重启对应应用服务。注意按照部署手册"执行产品初始化SQL"章节的内容操作。尤其是达梦之类的数据库,一定要按照手册要求,执行SQL之后,使用commit提交。

  • 问题:东方通7.0.4.1的阈值配置不合理导致系统卡顿

解决方法:

TongWeb7.0.4.1 --> 管理控制台 --> 监视 --> 阈值配置 --> default1 --> 勾选了快照jmap会在触发时执行fullgc导致卡顿现象。

阈值配置不合理,建议修改方法:

1、将最大线程数10改成300

2、无内存泄漏问题,去掉jmap勾选

  • 问题:东方通7.0.4.X页面出现"提示信息系统级错误";涉及关联文档、修改公文单、表单等;

C:\Users\江\AppData\Local\Temp\1620445283(1).png 解决方法:更新东方通补丁包解决,不同版本补丁包联系东方通获取。

东方通7.0.4.X补丁包打包步骤:

补丁包下文件Parser.class替换文件: tongweb安装目录\lib\tongweb.jar打开jar包,注意备份文件,需要替换的文件路径为:com\tongweb\jasper\compiler\Parser.class

修改配置文件:

修改bin目录下external.vmoptions文件,增加一行:

-Dcom.tongweb.jasper.compiler.Parser.STRICT_WHITESPACE=false

修改conf目录下default-web.xml

在com.tongweb.web.jasper.servlet.ThanosJspServlet下增加init参数:

		<init-param>  
				<param-name>strictQuoteEscaping</param-name>  
				<param-value>false</param-value>  
		</init-param>
编撰人:zhangshuang、het、wangyxyf、chenxy、shenlq、tenghc

快速跳转