# 致远协同管理软件安装维护手册

北京致远互联软件股份有限公司

2024年3月

# 前言

本Linux手册只针对应用服务器是Linux系统,本手册是OA全套环境的部署说明,包含客户端PC、加密狗注册等,文中存在多处windows相关说明是正常现象。

本手册对V8.2SP1版本协同管理系统的安装及维护相关事宜进行说明。

本版本手册不适用于早期版本的协同产品。若您正在使用协同系统的早期版本,请参阅对应版本相关手册(如V3.50、V3.20、V3.0版本)。

如对安装维护手册中相关问题存在疑问,请与致远互联的客户服务人员联系。

# 1 协同服务环境要求

# 1.1 客户端环境要求

# 1.1.1 客户端硬件配置

1664277988881.png

# 1.1.2 客户端软件需求

1664278026004.png

说明:

  • 非IE浏览器(包含360极速浏览器)以下情况不支持:登录页辅助安装程序、表单签章。

  • Office插件/电子签章:Office插件及电子签章支持的环境,请参考《金格插件适配环境要求》。

注:所有的插件都不要安装在中文目录下,特别是office插件不能安装到中文目录下。

  • 应用定制平台(cap4应用):

前端用户(使用应用): IE10及以上、 chrome、 safari、 360(兼容IE10及以上、极速)、firefox

后台设计师(制作应用):IE11及以上、chrome、 safari

Windows XP前端用户可使用chrome49 访问应用定制平台应用

# 1.2 网络环境要求

客户端:

1664278071133.png

# 2 协同服务安装启动配置

# 2.2 安装流程概述

协同服务的安装基本流程为:硬件环境准备--->安装操作系统--->安装数据库服务--->安装协同服务--->注册加密--->其他认证--->启动服务--->客户端访问。

以下对操作系统、数据库服务等相关流程中的注意事项进行说明。

# 操作系统准备

# Linux环境安装准备

  • 执行安装程序需要图形界面

  • 赋予安装包里的文件可执行权限

chmod -R 777 【安装包路径】
  • 修改Linux网络参数

1、在/etc/sysctl.conf文件末尾添加:

net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0

2、然后执行命令重启网络服务:

service network restart

3、在 /etc/rc.d/rc.local文件末尾添加:

echo "30">/proc/sys/net/ipv4/tcp_fin_timeout
echo "1800">/proc/sys/net/ipv4/tcp_keepalive_time
echo "0">/proc/sys/net/ipv4/tcp_window_scaling
echo "0">/proc/sys/net/ipv4/tcp_sack
echo "0">/proc/sys/net/ipv4/tcp_timestamps
  • 修改Linux最大进程数最大文件打开数
vi  /etc/security/limits.conf  编辑此文件添加以下内容

    # open files  (-n)
    * soft nofile 65535
    * hard nofile 65535

    # max user processes  (-u)
    * soft nproc 65535
    * hard nproc 65535

# 2.3 协同服务安装

# 2.3.1 注意事项

安装前,请先设置操作系统时区。协同应用服务器时区应与数据库服务器时区一致。此时区尽量与协同大部分用户所在时区保持一致。协同应用服务器时区的变化,将导致系统提示类的数据异常。

协同服务安装程序入口文件说明:

1664278262860.png

A6+版本安装时,如果选PostgreSQL数据库进行安装,可自定义PostgreSQL数据库服务安装路径

# 2.3.2 安装步骤

启动安装程序之前环境检查项:

1、检查是否支持的操作系统类型,CentOS6以上,SuSE11以上

2、检查是否64位

3、检查cpu内存是否达到最低配置要求8c16g

4、检查虚拟内存是否不低于10240M

5、检查磁盘可用空间是否不低于100G

6、检查网卡速率是否符合基线要求,1000M

7、已部署各项服务内存之和,加上即将安装的产品内存配置(默认4G)不得超过物理内存80%

8、当前服务器可用内存不得低于物理内存60%

9、Linux系统,ulimit -a检查open files和max user processes都不得低于60000

安装步骤:

  • 第一歩:执行安装程序Seeyon******Install脚本文件(**根据购买的产品线进行选择)。

sh为Linux系统下安装入口(Linux下执行命令:./ Seeyon**Install.sh进行安装);

  • 第二步:开始进行安装。选择【我接受该许可协议条款】,选择【下一步】;

  • 第三步:选择软件的安装路径,选择【下一步】;

  • 第四歩:选择数据库类型,并配置数据库连接信息(数据库类型、数据库名称、服务器地址、端口、用户名、密码),选择【下一步】;

第四步注意事项:

1、数据库类型为MySQL,输入数据库名称可以自动创建该数据库,无需手工创建,其余数据库类型需要根据手册内容提前创建数据库;

2、数据库类型为MySQL,名称禁止使用系统数据库关键字,比如mysql、temp,推荐字母开头,纯字母或者字母加数字的数据库名称,如seeyonoa、seeyondb、oav8x;

3、数据库类型为Oracle,用户名禁止使用sys、system等系统数据库用户名。

  • 第五步:确认安装信息是否正确,选择【下一步】;

  • 第六步:开始安装,安装完成后,出现账号密码设置界面,请填写初始化管理员账号登录名以及密码(服务启动后请使用填写的密码登录进行系统初始化);

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

  • 第七步:初始化安装时,出现【ip限制】设置页面,确认是否开启【ip限制】(默认不勾选)。开启后,仅ip地址范围内的机器可访问协同服务。

若需设置,勾选【ip限制】,ip地址范围填写允许访问ip信息。

无需配置则取消勾选。

注意:仅初始化安装时有此页面,修复和升级无此页面信息。

  • 第八步:点击【完成】,退出安装程序。

# 2.3.3 转换服务多网卡jvm配置调整

在多网卡服务器时,需要做以下配置:

编辑OfficeTrans服务目录的startup.sh,在JAVA_OPTS值的最后增加(或者修改绑定服务的IP地址):-Djava.rmi.server.hostname=IP地址

Linux示例(注意在引号内添加):

保存修改。

# 2.4 加密注册和认证

# 2.4.1 说明

  • 在启动协同之前需先完成加密的注册和认证;

  • 加密信息与应用服务器绑定(如有移机等服务器变更,请联系致远商务更新加密信息);

  • 加密信息与产品版本绑定;

  • 硬件加密只支持Windows、Linux系统,其他系统请使用软加密文件;

  • 一个加密只支持一个逻辑上的协同服务;

  • 加密支持多网卡服务器;

  • 加密注册与更新程序只支持在Windows系统下运行;

# 2.4.2 步骤

  • 在联网的Windows系统中运行注册认证程序

  • 插入硬件加密或将软加密文件拷贝至当前系统;

  • 服务器需与外网保持连接;

  • 运行安装程序updateDog中的UpdateDog.exe;

  • 选择对应产品线;G6产品线请选择G6V5;

4

图2.2.2-1注册认证工具

  • 注册与更新

  • 致远商务提供硬件加密及软加密文件;

  • 注册及更新必须连接外网;

  • 注册及更新在使用时将弹出MAC地址输入框,支持绑定其它服务器MAC地址(如:Linux系统服务器、无法连接外网服务器);

4

图2.2.2-2加密注册与更新

  • 下载Office认证

下载Office插件的认证信息,需要验证硬件加密或软加密文件;

  • 查看License信息

查看硬件加密或软加密文件的License信息;

4

图2.2.2-3查看License信息

  • 查看硬件ID

查看当前服务器的网卡MAC信息;

  • 读取狗号

读取当前硬件加密或软加密文件的编号;

  • 绑定数据库

将硬件加密或加密文件绑定产品数据库(A6、A8产品不需要绑定);

# 2.4.3 软加密文件使用说明

对于使用软加密文件的情况,在完成了软加密文件(一般为.seeyonkey后缀的文件)的注册后,请将注册后的软加密文件拷贝至协同安装目录的base/license下(license目录不存在则新建目录)。

1664278377250.png

# 2.4.4 非Windows操作系统注册认证

对于非windows操作系统,硬件加密(或软加密文件)的注册认证,可在Windows平台下运行安装程序的UpdateDog.exe,在注册时填写需绑定的非Windows操作系统的MAC地址。

注:加密绑定的MAC地址请用"-"做分段,不能使用":"。

# 2.4.5 无外网操作系统注册认证

对于无外网操作系统,硬件加密(或软加密文件)的注册认证,在可访问外网的Windows平台下运行安装程序的UpdateDog.exe,注册时填写需绑定的无外网操作系统的MAC地址。

# 2.5 转换服务认证

自V7.0SP1版本产品加密狗中已合并OfficeTrans认证,无需再单独下载。

# 2.6 二维码认证

将二维码插件认证文件(iWebBarcode.lic文件)拷贝至协同服务的以下位置:base\license\iWebBarcode.lic

# 2.7 报表工具(帆软)认证

从致远商务获取报表工具(帆软)的认证文件(FineReport.lic),将认证文件拷贝至协同服务的以下位置:ApacheJetspeed/webapps/seeyonreport/WEB-INF/resource下。

# 2.8 服务端配置

协同服务配置可通过S1进行配置(详见S1手册),也可使用协同服务目录的配置工具进行配置(要求图形界面)。

# 2.8.1 协同系统配置工具

启动工具方式:


Linux:【协同主目录】/ApacheJetspeed/conf/SeeyonConfig.sh


  • 界面示例:

# 2.8.2 服务访问端口设置

http访问端口默认为80,可以通过运行【协同系统配置工具】来更改。如下图。

# 2.8.3 协同服务Tomcat调优

打开【协同系统配置工具】:

根据需要,选择"单机"、"集群/双机"。集群配置详见集群部署手册。

总线程数4096,最小空闲数100。无特殊要求无需修改。

# 2.8.4 协同服务JVM调优

打开【协同系统配置工具】:JVM属性

对应不同并发在线用户数的JVM配置标准:

1664278474473.png

注意:针对Oracle数据库12c以及以上版本,需在协同服务部署后的ApacheJetspeed/bin/ catalina_custom.sh脚本中增加以下两项jvm参数:


-Doracle.jdbc.useNio=false -Doracle.jdbc.javaNetNio=false

# 2.8.5 连接池配置

打开【协同系统配置工具】:

连接数最小、最大值的参考标准:

1664278504744.png 说明:需要同步修改数据库连接数参数。

连接池配置文件位于【产品安装目录】/base/conf/datasourceCtp.properties

V8.2SP1版本新增以下优化内容,无特殊要求无需修改。

# 连接池1秒的新建连接数量,单位是连接个数。达到该数量触发日志跟踪
ctpDataSource.rateLimit=300

# 连接池日志debug级别是否开启,true表示打开,false表示debug级别日志不打印
ctpDataSource.log.isDebug=false

# 连接池日志路径,如果不填写,则打印到控制台
ctpDataSource.log.filepath=../logs/dbpool

# 在获取连接前是否做连接检测,0表示不检测,1表示在距离上次检测到本次{ctpDataSource.validateInterval}参数时间外才检测,2表示每次获取连接都检测
ctpDataSource.validateOnGet=1

# 做连接检查使用的sql,默认不用配置,使用jdbc自带的ping来检查,效率高
# ctpDataSource.validateQuery=select 1

# 单位秒,做连接检查socket的读超时时间,在{ctpDataSource.validateOnGet}参数为1、2时候有效
ctpDataSource.validateTimeout=5

# 单位毫秒,在获取连接前,距离上次检测连接超过多少毫秒,做连接检测。在{ctpDataSource.validateOnGet}参数为1时候有效
ctpDataSource.validateInterval=6000

# 单位毫秒,当空闲连接总数大于{ctpDataSource.minCount}时,会去清理空闲连接,空闲连接当前时间到上次被执行sql时间大于本参数,则该空闲连接会被清理
ctpDataSource.timeBetweenEvictionRunsMillis=60000

# 2.8.6 加密共享

正式环境加密信息支持共享,支持同一产品多套测试环境。配置入口在协同系统配置工具。

默认为正式环境,且共享加密信息仅允许本机访问。若需其它服务器访问,则填写对应服务器的ip地址,多个ip地址间用逗号隔开。变更配置后需要重启服务后生效。

测试环境,勾选【连接生产环境】的【设置为测试环境】选项,填写正式环境的访问方式,启动服务即可从正式环境获取加密信息。

# 2.8.7 系统参数配置

通过【协同系统配置工具】来进行系统参数配置,示例如下:

  • 配置协同访问地址

  • 名称:internet.site.url

  • 值: URL地址,如http://a8.***.com https://a8.***.com

  • 描述:用于消息通知到邮件系统,在正文中等直接点击打开协同正文的链接地址

  • 配置上传附件大小

  • 名称:fileUpload.maxSize

  • 值:52428800

  • 描述:允许上传文件的大小:单位是byte

  • 配置正文中上传图片的大小

  • 名称:fileUpload.image.maxSize

  • 值:1048576

  • 描述:允许上传图片的大小:单位是byte

  • 配置每条短信支持的最大字节数

  • 名称:mobile.largestNum

  • 值:120

  • 描述:根据当前的短信服务商, 每条短信支持的最大字节数,单位bytes

  • 配置邮件目录

  • 名称:webmai.savePath

  • 值:${ctp.base.folder}/webmail

  • 描述:邮件保存目录,如D:/data/mail(注:${ctp.base.folder}是系统缺省路径),系统默认值是${ctp.base.folder}/webmail

  • 配置Office转换目录

  • 名称:officeTarns.cache.folder

  • 值:${ctp.base.folder}/officetrans

  • 描述:Office转换文件目录,存放Office文件的HTML缓存,系统默认值${ctp.base.folder}/officetrans

# 2.8.8 OBS配置

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

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

Access Key #对象存储的Access Key

Security Key #对象存储的Security Key

endPoint #对象存储的URL

桶名 #对象存储的桶名

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

注意:

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

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

# 2.9 启动协同服务

# 2.9.1 Linux启动

  • 用cd命令到 【协同主目录】/ApacheJetspeed/bin/ 目录下,启动协同服务:
> nohup ./startup.sh \>/dev/null 2\>&1 &

查看启动过程控制台输出

> tail -f ../logs/catalina.out
  • 用cd命令到【协同主目录】/OfficeTrans目录下,启动Office转换服务:
> nohup ./startup.sh \>/dev/null 2\>&1 &

# 2.10 客户端配置

  • 系统访问

http://应用服务IP地址。如果端口号不是80,则在IP地址后面加端口号。例如:http://172.20.2.20:8080

  • 配置IE环境

打开登录页,点击登录页的"辅助程序安装",依次安装所需要的客户端插件。

# 2.11 系统预置的用户


角色 登录名(安装过程中可设置) 密码(安装过程中可设置)

初始化管理员(所有版本) init-admin 默认为123456


# 2.12 日志

  • 安装日志存放在安装后产品目录下Logs文件夹,如:/data/Seeyon/A8/Logs;

  • 启动日志存放在安装后产品的ApacheJetspeed/logs、logs_sy目录。

# 2.13 移动端访问说明

移动端App可直接访问协同服务,端口同pc端访问端口。

若需要分离部署移动服务,则安装产品提供的Nginx程序,并通过S1进行移动端访问配置。

# 3 致远服务S1

S1支持协同及相关服务的服务启停、参数配置、运维监控及相关运维工具,产品安装后预置S1程序。详细的说明见S1的安装维护手册和用户操作手册。

# 4 服务启动停止

本章节简要说明协同服务、OfficeTrans、数据库服务的启动、停止。

# 4.1 启动过程

# 4.1.1 数据库启动

# 4.1.1.1 Oracle11GR2 数据库启动
  • Linux启动
#su - oracle
$lsnrctl start 
$sqlplus / as sysdba
Sql> startup
Sql> exit
# 4.1.1.2 SQLServer数据库启动

在Windows环境下启动如下服务即可:

# 4.1.1.3 MYSQL 数据库启动

Linux系统启动示例:

 > mysqld_safe -defaults-file=/etc/my.cnf                              
# 4.1.1.4 PostgreSQL 数据库启动

Linux下执行pgsql13.3/bin下的zz_start.sh启动脚本。

./zz_start.sh
# 4.1.2 转换服务启动
# 4.1.2.1 Linux启动方式
  • 启动

用cd命令到【协同主目录】/OfficeTrans目录下,启动Office转换服务:

nohup ./startup.sh \>/dev/null 2\>&1 &

# 4.1.3 应用服务启动

# 4.1.3.1 Linux环境

  • 启动

用cd命令到 【协同主目录】/ApacheJetspeed/bin/ 目录下,启动协同服务:

./startup.sh

# 4.2 关闭过程

# 4.2.1 应用服务停止

# 4.2.1.1 Linux环境
  • 停止

1

  • 方法一:

登录系统管理员账号,使用协同的服务停止通知,时间到后服务自动停止;

  • 方法二:

结束java进程,在终端命令行执行以下命令:

ps -ef\|grep java

找到在【协同主目录】的java进程pid号,执行以下命令:

Kill -15 进程pid号

# 4.2.2 转换服务停止

# 4.2.2.1 Linux环境
  • 停止

结束java进程,在终端命令行执行以下命令:

ps - ef\|grep java

找到在【协同主目录】/OfficeTrans的java进程pid号,执行以下命令:

Kill -15 进程pid号

# 4.2.3 停止数据库

# 4.2.3.1 Oracle 数据库停止
  • Linux关闭数据
#su - oracle
$lsnrctl stop 
$sqlplus / as sysdba
 Sql> shutdown immediate
 Sql> exit
# 4.2.3.2 SQLServer数据库停止

在Windows环境下启动如下服务即可

4.2.3.3 MySQL 数据库停止

停止命令:mysqladmin -uroot -p数据库密码 shutdown
# 4.2.3.4 PostgreSQL 数据库停止

Linux下执行pgsql13.3/bin下的zz_shutdown.sh停止服务脚本。

./zz_shutdown.sh

# 5 部署配置各独立服务

协同应用服务之外,可独立部署的服务、最低建议配置(根据实际业务情况,可进行合并或优化调整)及服务用途见以下清单:

1664279000130.png

# 5.1 全文检索服务(必须)

# 5.1.1 概要说明

  • 使用与协同应用服务版本一致的全文检索服务;

  • 全文检索服务支持Windows、Linux系统;

  • 使用全文检索必须部署独立的全文检索服务;

  • 使用全文检索安装程序安装全文检索的独立服务,建议安装在独立的服务器上。

# 5.1.2 安装配置

# 5.1.2.1 安装
  • 执行./SeeyonSearchserviceInstall.sh运行安装程序;

  • 开始安装,选择安装路径,如:/data/Seeyon/SearchService,依次点击下一步,完成安装;注意不能部署于/root或者其子目录下(影响全文检索服务启动)

# 配置
  • 第一步:登录系统管理员账号,进入"全文检索设置"界面,选择"远程模式",查看并记录下服务注册码。

  • 第二步:若已安装S1,可在S1的"服务启停配置"中,进行全文检索配置:

search1

非集群环境配置:

search2

server.ip:全文检索服务器的 ip 地址,分离部署需要设置实际ip,如10.5.5.160,集中部署可使用本机地址127.0.0.1

a8.server.url:协同服务的访问地址,注意带应用上下文/seeyon。 如果不是80端口则必须将端口号加上

regsit.code: 注册码,需要与系统管理员账号中的服务注册码保持一致

server.port:全文检索服务的端口,默认9700,如果是分离部署需要开放端口让协同应用服务器可以访问

path_data:索引数据目录,默认是../base/data(即Searchservice\ES\base\data),如需修改需要设置绝对路径

如果产品是分离部署,在协同系统参数设置中需要把index.index_a8Ip设置成协同的实际ip,另外需要开放9601和9603端口让全文检索服务器可以访问;如果集中部署不需要调整

系统管理员账号,系统分区设置:分离部署的情况,"全文检索网络映射路径"设置为协同分区附件所在目录映射到全文检索服务器的网络路径

集群环境配置:

server.ip:全文检索服务器的实际ip,如10.5.5.160

a8.server.url:协同服务的访问地址,注意带应用上下文/seeyon。 如果不是80端口则必须将端口号加上,集群环境配置主节点的地址即可

regsit.code: 注册码,需要与系统管理员账号中的注册码保持一致

server.port:全文检索服务的端口,默认9700

path_data:索引数据目录,默认Searchservice\ES\base\data

配置文件:在全文检索安装目录下SearchService/config/application.properties 配置文件中增加queue_link 属性(8.0版本默认就有,8.0sp2需要手动增加),其值为各节点 ip 地址及端口。
格式:queue_link =(10.5.5.51,9601,9603),(10.5.5.52,9601,9603)

集群各节点协同系统配置ApacheJetspeed/conf/SeeyonConfig,插件参数设置:index.index_a8Ip,其值为当前集群节点的 ip 地址;

系统管理员账号,系统分区设置:全文检索服务器需要能正常访问协同的分区附件,"全文检索网络映射路径"设置为协同分区所在目录映射到全文检索服务器的网络路径

  • 第二步:若未安装S1,将注册码配置在全文检索服务安装目录下Searchservice\

config\application.properties文件中,并调整其他配置参数:

若全文检索与协同服务是安装部署在同一台服务器,则只需修改注册码,其它可以默认值(如修改协同服务的访问端口,则必须在a8.server.url的值添加对应的修改后的端口,如:http://127.0.0.1:89/seeyon)

若协同服务是集群,则需要在config/application.properties配置文件中增加queue_link属性,其值为各节点ip地址及端口。

格式:queue_link =(10.3.4.206,9601,9603),(10.3.4.207,9601,9603)

  • 第三步:将协同系统分区所在磁盘阵列挂载到全文检索服务器(推荐)。或者将协同系统所在的分区文件夹进行网络共享,"网络共享路径"如:\\ IP地址\共享名;

挂载命令示例:

\\192.168.1.3\shareName网络共享路径,映射为/mnt/upload,命令如下(假设访问附件分区文件夹"shareName"的用户名为user1,密码为pwd1),使用root用户,执行:


mount -t cifs -o username=user1,password=pwd1 //附件分区所在服务器/网络共享路径 /mnt/upload


用root用户,编辑 vi /etc/fstab, 在最后面加入:


//附件分区所在服务器/网络共享路径/mnt/upload/smbfs defaults,auto,username=user1,password=pwd1 0 0


  • 第四步:进行协同系统分区设置,根据实际情况参考以下图示:

  • 若协同系统分区所在磁盘阵列已挂载至全文检索服务器,则进行协同的分区管理配置。如下图:

图 协同系统分区与全文检索访问同一磁盘(N盘)

参数含义:

  • 分区名称:存放附件的系统分区名称。

  • 分区路径:协同访问系统分区的路径。通常为本地磁盘文件夹路径、网络共享路径或Linux下的挂载路径。

  • 分区状态:发布时间和截止时间段内的分区状态(停用/启用)。

  • 发布时间:系统分区的启用时间。

  • 截止时间:系统分区的停用时间。

  • 网络共享路径:系统分区在全文检索服务上的网络共享路径,远程全文检索服务的操作系统可访问该路径

  • 第五步:重启协同服务。

  • 第六步:重启全文检索服务器。

# 5.1.3 服务启停

  • 使用S1启动全文检索服务,或使用以下shell脚本启动:

Linux执行【全文检索目录】/startup.sh,执行命令示例:

 nohup ./startup.sh \>/dev/null 2\>&1 &
  • 使用S1停止全文检索服务,或使用以下shell脚本停止:

Linux执行【全文检索目录】/shutdown.sh,执行命令示例:

 ./shutdown.sh

# 5.2 文档中台服务(weboffice)

# 5.2.1 概要说明

WebOffice文档中台服务docker私有化部署操作说明见文档《V6版本docker部署文档》。

# 5.3 在线预览服务(OfficeTrans默认集中部署)

# 5.3.1 概要说明

协同服务安装时预置安装OfficeTrans服务。若需要将OfficeTrans分离部署可通过以下方式进行。

# 5.3.2 安装配置

# 5.3.2.1 安装

在协同服务安装后,预置安装的OfficeTrans服务,位于产品安装目录下OfficeTrans文件夹。

将OfficeTrans、jdk、S1文件夹拷贝至分离部署的服务器。

注册信息导出,并导入到分离部署服务器。注册信息如下:

Linux:/root/.config/seeyoninstall_Officetrans.info

# 5.3.2.2 在线预览参数配置

通过S1进行在线预览参数配置,以及服务启停。

office1

office2

JVM属性设置,其中-Djava.rmi.server.hostname=127.0.0.1配置里的ip地址需要改成转换服务器内网ip,默认端口1097和1098,如果是分离部署需要开放端口让协同服务可以访问。

# 5.3.2.3 协同参数配置

对协同服务的在线预览相关参数进行配置,主要配置以下参数:

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

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

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

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

修改配置完成,登录系统管理员账号-系统设置-系统模块管理中启用office转换,重启协同服务;再登录普通账号上传word文件查看转换是否正常。office3

# 5.3.3 服务启停

  • 使用S1启动OfficeTrans服务,或使用以下shell脚本启动:

Linux执行【OfficeTrans服务目录】/startup.sh,执行命令示例:

> nohup ./startup.sh \>/dev/null 2\>&1 &
  • 使用S1停止OfficeTrans服务,或使用以下shell脚本停止:

Linux执行【OfficeTrans服务目录】/shutdown.sh,执行命令示例:

> ./shutdown.sh

# 5.4 音视频服务(可选)

# 5.4.1 概要说明

  • 使用与协同应用服务版本一致的音视频服务;

  • 音视频服务支持Windows、Linux系统;

# 5.4.2 安装配置

# 5.4.2.1 安装
  • 执行SeeyonMediaServiceInstall.sh运行安装程序;

  • 开始安装,选择安装路径,如:/root/Seeyon/mediaservice,依次点击下一步,完成安装;

  • 自主编译安装nginx(参考6.1.2章节),将编译好的nginx目录拷贝到/root/Seeyon/Mediaservice目录

  • 修改/root/Seeyon/Mediaservice/nginx/conf/nginx.conf配置文件,内容如下:

#user  nobody;
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 {
        listen       86;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }
        location /media {
            client_max_body_size 20m;
            #转发到音视频微服务
            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;
		    }
		    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;

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

# 5.4.2.2 配置
  • 使用系统管理员登录协同系统,进入"音视频服务配置"界面,查看服务的注册码及服务注册状态。

  • 若已安装S1,可在S1的"服务启停配置"中,进行音视频服务配置:

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:音视频服务存储音视频文件的目录。

  • 若未安装S1,编辑音视频服务目录的config/application.properties文件,并调整各配置参数(推荐用S1进行配置,若手工编辑注意文件编码应为UTF-8):

# 5.4.3 服务启停

  • 使用S1启动音视频服务,或使用以下shell脚本启动:

Linux执行【音视频服务目录】/startup.sh,执行命令示例:

> nohup ./startup.sh \>/dev/null 2\>&1 &
  • 使用S1停止音视频服务,或使用以下shell脚本停止:

Linux执行【音视频目录】/shutdown.sh,执行命令示例:

> ./shutdown.sh

# 5.5 文件下载服务(可选)

# 5.5.1 概要说明

  • 使用与协同应用服务版本一致的文件下载服务;

  • 文件下载服务支持Windows、Linux系统;

  • 需在系统管理员用户"系统分区管理"中,配置文件下载微服务所在服务器上分区对应的路径。

# 5.5.2 安装配置

# 5.5.2.1 安装
  • 执行SeeyonFileServiceInstall.sh运行安装程序;

  • 开始安装,选择安装路径,如:/data/Seeyon/fileservice,依次点击下一步,完成安装;

# 5.5.2.2 配置
  • 使用系统管理员登录协同系统,进入"文件下载服务配置"界面,查看服务的注册码及服务注册状态。

  • 若已安装S1,可在S1的"服务启停配置"中,进行文件下载服务配置:

server.port:文件下载微服务的端口,默认8085,如果是分离部署需要开放端口让协同服务和客户端可以访问。

server.ip:文件下载微服务对协同服务及客户端的 ip 地址,需要设置实际ip,如10.5.5.160,或者内外网统一域名。

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

global.authorizedIps:信任的ip地址,填写协同服务的ip地址。

global.maxDownloadNum:同时下载的最大连接数。

  • 若未安装S1,将注册码配置在全文检索服务目录的config/application.properties文件中,并调整其他配置参数(推荐用S1进行配置,若手工编辑注意文件编码):

  • 系统管理员账号---系统分区设置:分离部署的情况,文件微服务服务器需要能正常访问协同的分区附件,"文件微服务网络映射路径"设置为协同分区附件所在目录映射的网络路径

# 5.5.4 服务启停

  • 使用S1启动文件下载服务,或使用以下shell脚本启动:

Linux执行【文件下载服务目录】/startup.sh,执行命令示例:

> nohup ./startup.sh \>/dev/null 2\>&1 &
  • 使用S1停止文件下载服务,或使用以下shell脚本停止:

Linux执行【文件下载服务目录】/shutdown.sh,执行命令示例:

> ./shutdown.sh

# 5.6 数据转储服务(可选)

# 5.6.1 概要说明

随着时间的推移和业务的发展,协同系统数据库和表中的数据会越来越多,随之带来的是更高的磁盘、IO、系统开销,甚至性能上的瓶颈,而单一数据库服务器的资源终究有限,因此需要对数据库或表进行拆分,从而更好的提供数据服务。

数据转储微服务的基本思想就是把协同系统的数据库水平(横向)切分出一部分历史数据放到另一数据库(分库)服务器上,从而缓解单一数据库的性能问题。

目前支持的数据库类型:MySQL、SQLServer、Oracle。

123123421.png1

1

# 5.6.2 安装配置

# 5.6.2.1 环境准备
  • 准备服务器,该服务器用于运行数据转储微服务,以及存储历史数据的数据库服务。

  • 建议与运行库数据库服务器同网段,保证协同服务能正常连接此数据库。

  • 建议历史数据库版本与运行库数据库版本完全一致。

  • 做任何相关操作之前,先备份生产环境数据,确保备份成功并且可用。

  • 避免使用navicat等第三方工具备份数据库。

  • 在服务器上安装数据库服务,并创建用于存储历史数据的数据库用户。

# 5.6.2.2 安装数据转储服务
  • 执行SeeyonDatatransferInstall.sh运行安装程序;

  • 开始安装,选择安装路径,如:/data/Seeyon/datatransservice,依次点击下一步,完成安装;

# 5.6.2.3 协同服务插件参数配置
  • 在S1中配置协同服务,或在协同系统配置工具中启用分库。截图红色部分的分库信息(填写实际信息):

1

  • fk.db.driverClassName、fk.db.hibernateDialect可以下拉选择,根据数据库类型确定不同选项。

  • fk.db.url可以参考协同系统配置工具,数据库连接中的数据库地址格式,修改ip端口数据库名称信息后手工录入。注意,该处数据库地址为分库地址。

  • 保存配置后,相关信息写入协同系统安装目录base\conf\plugin.properties文件,重启协同系统服务,使之生效。

  • 启动过程可见"初始化连接池:FK"。连接池初始化完成,分库中则已自动创建相关业务数据表。

1

# 5.6.2.4 启停配置数据转储服务

4

4

# 5.6.3 数据迁移任务配置

  • 登录协同系统管理员账号,数据转储管理。

  • 数据迁移服务配置,开关,开启。

  • 填入startup脚本绑定IP地址,或者数据转储微服务服务器唯一的内网ip地址。

  • 端口默认8086。

  • 执行方式自由选择,迁移数据量较大时每天定时执行,迁移数据量较小、较短时间迁移完成可选择立即执行。

  • 迁移日期必须选择为当前日期两年前的一个日期。

1

1

  • 设置成功后,符合任务执行条件的时间内,历史数据迁移已在进行。

  • 控制台显示"批量迁移任务执行开始"。

  • 日志位于数据转储微服务安装目录下,日志文件为

    Logs/data_transfer.log。

  • 数据迁移完成,数据转储微服务控制台显示"批量迁移任务执行结束"。

1

1

# 5.6.4 看转储数据

  • 已发、已办事项多出"转储数据"按钮。点击按钮才可以查看转储的数据。

点击"转储数据"按钮之前:

点击"转储数据"按钮之后:

  • 新建事项,关联转储数据。

# 5.6.5升级转储数据

  • 协同系统升级以后,数据转储微服务需要升级,转储数据也需要手工升级。

  • 数据转储微服务服务器上,升级数据转储微服务(需与协同应用版本一致)。

  • 登录协同系统管理员账号,数据转储管理,点击"升级"按钮。

G:\致远互联\工作记录\2019_网络培训\20190417_王成勇_分库微服务\fenku_update1111b.png

G:\致远互联\工作记录\2019_网络培训\20190417_王成勇_分库微服务\fenku_update1112b.png

# 5.7-join泛组织管理平台

# 5.7.1 说明

  • 使用与协同应用服务版本一致的V-join服务;

  • V-join服务支持Windows、Linux系统;

  • 部署配置请参考《V-Join泛组织管理平台安装维护手册》。

# 6 部署配置Web服务

Web服务可以为协同系统的单机环境提供Web访问,为协同系统的集群环境提供Web访问以及负载均衡。

协同系统的集群要求对应的web服务在做负载均衡时支持会话保持机制。

会话保持机制的意义在于,确保将来自相同客户端的请求,转发至后端相同的服务器进行处理。换句话说,就是将客户端与服务器之间建立的多个连接,都发送到相同的服务器进行处理。这种机制,可以识别客户端与服务器之间交互过程的关联性,在负载均衡的同时,保证一系列相关联的访问请求分配到同一台服务器上。

依据实际情况,可自由选择Nginx(产品提供了标准安装程序,也可自主安装)、Apache、F5或其他web服务软硬件设施。

以下章节对web服务部署及配置时的注意事项进行说明。

# 6.1 部署及配置Nginx

Nginx支持协同系统的Web代理及集群部署的Web分发。

集群模式下,负载均衡且会话保持,需要用到nginx-sticky-module模块,此模块目前仅支持Linux系统,因此用Nginx做为集群模式的web服务时需要Linux操作系统的服务器。

产品提供了标准的Nginx安装程序,也可自行下载安装配置,详见以下章节。

# 6.1.1 部署概要拓扑图

Nginx服务常见的部署模式见以下部署示意图:

C:\Users\MaX.C\AppData\Roaming\Tencent\Users\313763889\TIM\WinTemp\RichOle\}5LK6[JN]}40BO1~ULEGBVS.png

C:\Users\MaX.C\AppData\Roaming\Tencent\Users\313763889\TIM\WinTemp\RichOle\_CP%73F145`BCG@7M5{71D6.png

# 6.1.2 自主安装配置Nginx

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

  • Nginx,参考下载链接(下载stable version,1.20.2或者以上版本):

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/ (opens new window)

  • 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.20.2.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.20.2 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 

1664279559691.png

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

1664279565950.png

# 编译、安装

make make install

# 6.1.2.2 配置Nginx

以nginx安装在/home/nginx下为例,nginx的配置文件为/home/nginx/conf/nginx.conf。配置文件内容示例如下(其中upstream的名称及服务地址依据实际情况进行修改,如不需ipv6访问请去掉listen [::]:80 ipv6only=on;这一行配置):

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=300 fail_timeout=30s;
                server 192.168.0.2:80 max_fails=300 fail_timeout=30s;
        }
		
		server {			
			listen       80;
			listen [::]:80 ipv6only=on;
			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_set_header X-Forwarded-Proto $scheme;				
				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;
			}
		}
}
# 6.1.2.3 启动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
# 6.1.2.4 启用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;
	# 服务器location / 块中添加以下内容,其他内容不需要修改,省略
	proxy_set_header X-Forwarded-Proto https;
}

对协同的ApacheJetspeed/conf/server.xml进行以下调整:

在<Host>段增加以下内容:

<Valve className="org.apache.catalina.valves.RemoteIpValve"  remoteIpHeader="X-Forwarded-For"  protocolHeader="X-Forwarded-Proto"  protocolHeaderHttpsValue="https"/>

注:如https使用了非https默认端口443(比如使用了8443作为Nginx的https端口),则对协同的ApacheJetspeed/conf/server.xml进行以下调整:

<Valve className="org.apache.catalina.valves.RemoteIpValve" remoteIpHeader="X-Forwarded-For"  protocolHeader="X-Forwarded-Proto"  protocolHeaderHttpsValue="https"  httpsServerPort="8443"/>
# 注意:

如果客户需要同时保留http与https访问,那么http与https对应的后端oa监听端口应该分开,也就是oa监听2个端口,分别对应http与https访问;我们在配置第4步时,应该重新复制一行Connector,在新复制这行上,修改port监听端口,并增加 proxyPort="443" scheme="https" ,保证在通过http访问时,重定向不会到https上。

# 6.1.2.5 http重定向https

http重定向https,这里是指访问nginx的http端口自动重定向到nginx的https端口。

启用https(端口443)以后需要访问http(端口80)自动重定向https,需要在80端口http访问配置server代码里添加以下配置:

		server {			
			listen       80;			
			server_name  nginx访问ip或者域名;			
			charset utf-8;

	    # http 重定向到 https
        return 301 https://$server_name$request_uri;
			# 其它内容不需要修改,省略
		}

# 6.1.3 参数调优

参数优化需依据nginx的运行情况,及服务器负载情况进行调整。常见的优化参数有以下内容:

  • worker_processes:nginx的进程数,一般为cpu的倍数,可以为1倍。

  • worker_rlimit_nofile:nginx的进程打开文件数,可以与ulimit -u的值一致。

  • worker_connections:每个进程允许的最多连接数。

  • keepalive_timeout:客户端超时时间,单位秒。

  • client_max_body_size:客户端连接的最大请求实体,影响协同系统的上传附件大小,建议设置大于或等于运行附件上传的最大值。

  • access_log:请求日志,建议无需调试时关闭(off)。

Nginx可优化的参数还有很多,建议依据系统实际的运行需求,选择性优化。

# 6.2 部署及配置Apache

  • 可以根据实际情况调整Apache的版本。建议使用Apache对应系列的最新版本。

  • 以下Apache部署及配置的说明以2.4版本为基础。

  • Apache 2.4系列不再支持Windows Server 2003。

  • 使用https需在SeeyonConfig中设置服务器配置为单机(HTTPS)或集群/双机,如图:

{width="6.0625in" height="1.46875in"}

# 6.2.1 部署Apache

# 6.2.1.1 Linux系统部署
  • 操作系统依赖包安装,centos系统执行以下命令
yum install -y  gcc  gcc-c++  autoconf  automake
yum install -y  libtool  bison  flex  openssl-devel  expat-devel
  • 安装包获取

从Apache官网下载( https://httpd.apache.org/download.cgi )

  • 依赖包安装(可从Apache下载)

    • 安装pcre(下载地址:https://www.pcre.org/),解压并拷贝下载后的安装程序到/home目录下下,执行以下命令进行pcre的安装
cd /home/pcre-8.44
./configure --prefix=/usr/local/pcre
make
make install
  • 安装apr(下载地址:https://apr.apache.org/),解压并拷贝下载后的安装程序到/home目录下,执行以下命令进行apr的安装:
cd /home/apr-1.7.0
./configure --prefix=/usr/local/apr
make
make install
  • 安装apr-util(下载地址:https://apr.apache.org/),解压并拷贝下载后的安装程序到/home目录下,执行以下命令进行apr的安装:
cd /home/apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install
  • 安装httpd,,解压并拷贝下载后的安装程序到/home目录下,执行以下命令进行httpd的安装:(注意红色标注的为一条命令):
cd /home/httpd-2.4.48
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-ssl  --enable-so  --enable-deflate    --enable-ext-filter
make
make install
  • Apache服务启停
拷贝启动脚本
cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
检查配置文件正确性:
/usr/local/apache/bin/apachectl -t
启动服务:
/usr/local/apache/bin/apachectl start 或 service httpd start
停止服务:
/usr/local/apache/bin/apachectl stop 或 service httpd stop
# 6.2.1.2 Apache启动失败处置
  • 查看apache日志

启动失败后查看apache/logs/error日志文件,日志中新增异常信息

  • 查看系统日志

1)Linux系统检查终端输出异常信息

2)常见端口占用无法启动,日志记录make_sock: could not bind to address [::]:80

# 6.2.2 配置文件修改

  • 端口修改

1)找到Apache安装目录的conf目录下httpd.conf,搜索"Listen 80"修改此80,可以修改http默认端口80

2)找到Apache安装目录的conf/extra/httpd-ssl.conf,搜索"443"批量修改443,可以修改https默认端口443

  • Linux下配置文件修改:

  • 找到Apache安装目录的conf目录下(如/usr/local/apache/conf)找到httpd.conf,取消以下内容注释,并在文件末尾增加配置:

# 去掉以下行前面的注释符号"#"
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule filter_module modules/mod_filter.so
LoadModule deflate_module modules/mod_deflate.so
# 去掉以下行前面的注释符号"#"
Include conf/extra/httpd-mpm.conf

# 配置文件末尾增加如下配置
# 增加mod_jk配置文件
Include conf/mod_jk.conf
# 对指定的内容进行压缩
AddOutputFilterByType DEFLATE text/html text/xml text/css text/javascript text/plain application/javascript application/octet-stream
  • conf/extra/httpd-mpm.conf配置文件修改,取消以下内容注释或修改、增加以下内容:

  • perfork、worker、event模块修改对应的配置段

  • 在apache/bin目录下执行./httpd -V,结果中Server MPM:

    event即为使用event MPM

# 默认使用 event MPM
<IfModule mpm_event_module>
    StartServers            10  # 默认值3,推荐设置与cpu核数匹配数字
    MinSpareThreads        200  # 默认值75
    MaxSpareThreads        400  # 默认值250
    ThreadsPerChild         64  # 默认值25,推荐设置:大=64
    MaxRequestWorkers     1024  # 默认值400,推荐设置:大=1024
    MaxConnectionsPerChild   10000  # 默认值0,推荐设置:大=10000~50000
</IfModule>

# mpm_perfork模块
<IfModule mpm_prefork_module>
    StartServers    50    #推荐设置:小=默认 中=20~50 大=50~100
    MinSpareServers  50  #推荐设置:与StartServers保持一致
    MaxSpareServers  80  #推荐设置:小=20 中=30~80 大=80~120
    MaxClients   1500  #推荐设置:小=500 中=500~1500 大型=1500~3000
	ServerLimit  1500  #还需额外设置ServerLimit参数,该参数最好与MaxClients的值保持一致
    MaxRequestsPerChild 20000  #推荐设置:小=10000 中或大=10000~500000
</IfModule>

# mpm_worker模块
<IfModule mpm_worker_module>
    StartServers   10   #推荐设置:小=默认 中=3~5 大=5~10
    MaxClients  1500   #推荐设置:小=500 中=500~1500 大型=1500~3000
	ServerLimit  1500  #如果MaxClients/ThreadsPerChild大于16,还需额外设置ServerLimit参数,ServerLimit必须大于等于MaxClients/ThreadsPerChild的值。
    MinSpareThreads     100  #推荐设置:小=默认 中=50~100 大=100~200
    MaxSpareThreads     200   #推荐设置:小=默认 中=80~160 大=200~400
    ThreadsPerChild      100   #推荐设置:小=默认 中=50~100 大型=100~200
    MaxRequestsPerChild 20000   #推荐设置:小=10000 中或大=10000~50000
</IfModule>

# 6.2.3 代理连接器配置

  • Linux下配置步骤:

  • mod_jk组件下载:

Linux版本下载地址:

https://tomcat.apache.org/download-connectors.cgi (opens new window)

编译mod_jk.so文件。需要提前部署Apache HTTP Server,如下操作已部署至/usr/local/apache目录下。

> 1)解压:tar -xzvf tomcat-connectors-1.2.46-src.tar.gz
>
> 2)授权:给解压后的目录授权可执行权限;
>
> 3)编译:
>
> cd  tomcat-connectors-1.2.46-src/native
>
> 安装依赖
>
> yum install autoconf
>
> yum install libtool
>
> ./buildconf.sh
>
> ./configure \--with-apxs=/usr/local/apache/bin/apxs
>
> make
>
> make install

4)、编译完成:mod_jk.so文件位于tomcat-connectors-1.2.46-src/native/apache-2.0/目录下。

  • mod_jk组件安装:

将编译的mod_jk.so文件拷贝到Apache安装目录下的modules目录下

  • mod_jk组件配置:

    • 在Apache\conf\httpd.conf中增加以下内容:

Include conf/mod_jk.conf


  • 在Apache\conf下建立mod_jk.conf文件,内容如下:
#mod_jk.conf主要描述了jk模块的位置及相关参数
LoadModule jk_module modules/mod_jk.so 
JkWorkersFile conf/workers.properties
JkMountFile conf/uriworkermap.properties
JkLogFile logs/mod_jk.log
JkLogLevel error
#format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
#options
JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /* controller 
HostnameLookups Off
# Should mod_jk send SSL information to Tomcat (default is On)
JkExtractSSL On
# What is the indicator for SSL (default is HTTPS)
JkHTTPSIndicator HTTPS
# What is the indicator for SSL session (default is SSL_SESSION_ID)
JkSESSIONIndicator SSL_SESSION_ID
# What is the indicator for client SSL cipher suit (default is SSL_CIPHER)
JkCIPHERIndicator SSL_CIPHER
# What is the indicator for the client SSL certificated (default is SSL_CLIENT_CERT)
JkCERTSIndicator SSL_CLIENT_CERT
  • 在Apache\conf下建立uriworkermap.properties文件,内容如下:
/*=controller             
#所有请求转发到集群服务器上
/jkstatus= status
#jkstatus的请求转发到statusworker上
  • 在Apache\conf下建立workers.properties文件,内容如下:
worker.list = controller,status 
worker.status.type=status
worker.controller.type=lb
#与tomcat的server.xml中jvmRoute的值一致
#<Engine name="Catalina" defaultHost="localhost" jvmRoute="SY1">
worker.controller.balance_workers=SY11,SY12
#若增加tomcat节点,请参考以下格式添加
#worker.controller.balance_workers=SY11,SY12
#若增加tomcat节点,请参考上述格式添加
worker.controller.sticky_session=1
worker.controller.sticky_session_force=0
#与tomcat的server.xml中协议为AJP/1.3的Connector端口一致,注意开启了AJP Secret需要填写对应的密码
#<Connector port="8009" … protocol="AJP/1.3" />
worker.SY11.port=8951
worker.SY11.host=192.168.0.11
worker.SY11.type=ajp13
worker.SY11.lbfactor=1
worker.SY11.retries=3
worker.SY11.secret=Seeyon8.0Tomcat8.5AJP1.3
#若增加tomcat节点,请参考以下格式添加
worker.SY12.port=8951
worker.SY12.host=192.168.0.12
worker.SY12.type=ajp13
worker.SY12.lbfactor=1
worker.SY12.retries=3
worker.SY12.secret=Seeyon8.0Tomcat8.5AJP1.3
#若增加tomcat节点为多节点时,请参考上述格式添加

修改说明:

1)红色粗体是需要修改的部分;

2)worker.SY***.host值为对应协同服务器的IP;以上配置案例中集群两个节点服务器为192.168.0.11、192.168.0.12;两个节点服务器需要防火墙中放行8951端口;

3)worker.SY***中***为协同服务器IP的最后一段。

以上配置案例中协同服务ApacheJetspeed/conf/server.xml配置文件对应jvmRoute的值为SY11、SY12;

4)worker.SY***.secret值为对应协同服务ApacheJetspeed/conf/server.xml配置ajp协议连接器访问密钥,默认为Seeyon8.0Tomcat8.5AJP1.3,如图:

若server.xml中修改了密钥,则worker.SY***.secret值需要修改为对应的值。

# 6.2.4 启用HTTPS配置

  • 说明:

  • 若不使用Apache的HTTPS功能,可以不进行以下步骤。

  • 若为单机环境,则在Apache的conf

    **/**workers.properties中只需配置一个tomcat节点。

  • 使用https需在SeeyonConfig中设置服务器配置为:单机(HTTPS)或集群/双机。

启用支持openssl版本Apache的HTTPS功能步骤如下:

  • 配置:
  • -->
-   编辑conf/httpd.conf文件,取消注释或增加以下内容:

  -----------------------------------------------------------------------

Include conf/extra/httpd-ssl.conf


  -----------------------------------------------------------------------

-   编辑conf/extra/httpd-ssl.conf文件,取消注释或增加以下内容:

```shell
SSLCertificateFile    "conf/server.crt"
SSLCertificateKeyFile "conf/server.key"
JkMount /* controller

修改说明:

在Apache/conf目录中放置CA的.crt和.key文件,注意文件名分别为:server.crt、server.key;

为了取得更好的安全性,建议使用经过安全机构认证过的第三方证书。

启用mod_jk模块,并开启https时,httpd-ssl.conf中需要增加JkMount /* controller

重启Apache即可使用http、https方式访问Web服务。

# 6.3 负载均衡F5配置说明

协同系统的集群结构需要web服务做负载均衡时会话保持(或会话粘滞),会话保持机制的意义在于,确保将来自相同客户端的请求,转发至后端相同的服务器进行处理。

因此F5需采用符合会话保持原理的负载均衡策略才可保证协同集群系统的正常运行。

创建人:zhangshuang
修改人:zhangshuang、zhengkejie

快速跳转