> 技术文档 > 东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1

东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1


一、软件版本

  • 操作系统: CentOS Linux release 7.5.1804 (Core)
  • JDK:11.0.18(从iServer11.2.1开始,由于升级pac4j安全框架,JDK需要升级到11版本,部署11.2.0及以下版本可以用JDK1.8)
  • 东方通:TongWeb7.0.4.9M4
  • SuperMap iServer:11.2.1

JDK和TongWeb软件分享: 链接: https://pan.baidu.com/s/1HGDTPnPID0PEOMbg3FjTVQ?pwd=bh8v 提取码: bh8v
东方通软件许可请从其官网申请

二、东方通TongWeb7部署流程

2.1 安装JDK

2.1.1 下载JDK到/opt下解压,并将目录重命名为jdk

tar -zxf jdk-11.0.18_linux-x64_bin.tar.gzmv jdk-11.0.18 jdk

2.1.2 将JDK环境变量配置环境变量中

编辑/etc/profile

vi /etc/profile

增加:

export JAVA_HOME=/opt/jdkexport JRE_HOME=/opt/jdk/jreexport CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/libexport PATH=$JAVA_HOME/bin:$PATH

2.1.3 编辑完成检查JDK是否配置正确

看到以下信息JDK完成配置

[root@zhangyongli opt]# source /etc/profile[root@zhangyongli opt]# java -versionjava version \"11.0.18\" 2023-01-17 LTSJava(TM) SE Runtime Environment 18.9 (build 11.0.18+9-LTS-195)Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.18+9-LTS-195, mixed mode)

2.2 部署东方通TongWeb7

本次直接使用绿色版(免安装版)TongWeb7.0.4.9_M4_Enterprise_Linux.tar.gz,上传软件包到/opt目录

2.2.1 给东方通TongWeb软件包赋予执行权限

chmod 755 TongWeb7.0.4.9_M4_Enterprise_Linux.tar.gz 

2.2.2 解压软件包

tar -zxf TongWeb7.0.4.9_M4_Enterprise_Linux.tar.gz

2.2.3 配置License

将获取的许可license.dat放到TongWeb7 根目录下
东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1

2.2.4 启动东方通TongWeb

[root@zhangyongli opt]# cd /opt/TongWeb7.0.4.9_M4_Enterprise_Linux/bin/[root@zhangyongli bin]# ./startservernohup.sh 

2.2.5 访问控制台

打开浏览器, 输入TongWeb7.0控制台地址 http://IP地址:9060/console/
默认登录用户名密码为:thanos/thanos123.com
首次登录后会让修改密码,然后使用新密码在登录
东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1

2.2.6 停止东方通TongWeb

[root@zhangyongli opt]# cd /opt/TongWeb7.0.4.9_M4_Enterprise_Linux/bin/[root@zhangyongli bin]# ./stopserver.sh 

三、SuperMap iServer 部署

3.1 解压SuperMap iServer War包

将supermap-iserver-11.2.1-war.zip放到/opt目录下进行解压

unzip supermap-iserver-11.2.1-war.zip

可以把本次所需的4个包拷贝到/opt下,剩下的都删除
如:

iserver#help.wariserver#iClient.wariserver.warsupport_linux_x64.tar.gz

最终/opt目录如下:

[root@zhangyongli opt]# ll-rw-r--r-- 1 root root 780347508 Dec 17 15:24 iserver#help.war-rw-r--r-- 1 root root 928935275 Dec 17 15:25 iserver#iClient.war-rw-r--r-- 1 root root 1807491383 Dec 17 15:24 iserver.wardrwxr-xr-x 9 root root 4096 Dec 17 15:55 jdk-rw-r--r-- 1 root root 169328243 Dec 17 15:55 jdk-11.0.18_linux-x64_bin.tar.gz-rw-r--r-- 1 root root 1440994003 Dec 17 15:24 support_linux_x64.tar.gzdrwxr-xr-x 23 root root 4096 Dec 17 16:16 TongWeb7.0.4.9_M4_Enterprise_Linux-rwxr-xr-x 1 root root 318950996 Dec 17 15:24 TongWeb7.0.4.9_M4_Enterprise_Linux.tar.gz

3.2 安装SuperMap iServer依赖

tar -zxf support_linux_x64.tar.gz cd support_linux_x64./dependencies_check_and_install.sh install -y

东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1

3.3 配置试用许可

cd /opt/support_linux_x64/SuperMap_License/Support/tar -xvf aksusbd-8.11.1.tarcd aksusbd-8.11.1./dinst

东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1

3.4 解压组件并重新配置环境变量

cd /opt/support_linux_x64/objectsjava/tar -zxf bin.tar.gzmv Bin bin

编辑/etc/profile,

vi /etc/profile

增加UGO_HOME/SUPERMAP_ROOT/LD_LIBRARY_PATH/PATH,最终自定义环境变量如下:

export JAVA_HOME=/opt/jdkexport JRE_HOME=/opt/jdk/jreexport CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/libexport UGO_HOME=/opt/support_linux_x64/objectsjavaexport SUPERMAP_ROOT=/opt/support_linux_x64export LD_LIBRARY_PATH=$UGO_HOME/bin:$LD_LIBRARY_PATHexport PATH=$UGO_HOME/bin:$JAVA_HOME/bin:$PATH

然后检查是否缺少依赖,如下输出代表不缺少依赖,如果有缺少先补足依赖

[root@zhangyongli bin]# ldd libWrapjC* | grep not[root@zhangyongli bin]# 

3.5 将SuperMap iServer War包里的三个文件拷贝到TongWeb7部署目录

将iserver#iClient.war和iserver#help.war重命名,去掉#号

mv iserver#iClient.war iclient.warmv iserver#help.war help.war

拷贝到/opt/TongWeb7.0.4.9_M4_Enterprise_Linux/autodeploy目录

cp iserver.war /opt/TongWeb7.0.4.9_M4_Enterprise_Linux/autodeploy/cp iclient.war /opt/TongWeb7.0.4.9_M4_Enterprise_Linux/autodeploy/cp help.war /opt/TongWeb7.0.4.9_M4_Enterprise_Linux/autodeploy/

四、修改东方通TongWeb配置

确保TongWeb7没有启动,如果启动了 ,参考2.2.6 停止东方通TongWeb

4.1 修改startserver.sh文件

vi /opt/TongWeb7.0.4.9_M4_Enterprise_Linux/bin/startserver.sh

文件最末尾增加后保存

JAVA_OPTS=\"${JAVA_OPTS} -Dcom.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager=true\"

东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1

4.2 修改tongweb.properties文件

vi /opt/TongWeb7.0.4.9_M4_Enterprise_Linux/conf/tongweb.properties

文件最末尾增加后保存

tongweb.util.scan.StandardJarScanFilter.jarsToSkip=jersey-*.jar,hadoop-*.jar,tyrus-server*.jar

东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1

4.3 修改external.vmoptions文件

JDK11及以后改进了对 zip 文件和 jar 文件中 ZIP64 额外字段的验证,所以这个配置需要单独开启

vi /opt/TongWeb7.0.4.9_M4_Enterprise_Linux/bin/external.vmoptions

新增

-Djdk.util.zip.disableZip64ExtraFieldValidation=true

东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1

4.4 启动东方通TongWeb

[root@zhangyongli opt]# cd /opt/TongWeb7.0.4.9_M4_Enterprise_Linux/bin/[root@zhangyongli bin]# ./stopserver.sh 

访问控制台,打开浏览器, 输入TongWeb7.0控制台地址 http://IP地址:9060/console/
默认登录用户名为:thanos

4.5 点击应用管理,依次修改help和iClient访问目录

东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1
修改前缀为/iserver/help后保存
东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1
修改前缀为/iserver/iclient后保存
东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1

五. 最终访问iServer、help、iClient查看是否正确

iServer设置完管理员用户名和密码等操作
东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1
东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1
东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1
东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1

六、常见报错

1. 报错com.tongweb.catalina.LifecycleException

com.tongweb.catalina.LifecycleException: Failed to start component [com.tongweb.catalina.webresources.StandardRoot@4bf837c6] at com.tongweb.catalina.util.LifecycleBase.start(LifecycleBase.java:167) at com.tongweb.catalina.core.StandardContext.resourcesStart(StandardContext.java:4927) at com.tongweb.catalina.core.StandardContext.startInternal(StandardContext.java:5062) at com.tongweb.catalina.core.ThanosStandardContext.startInternal(ThanosStandardContext.java:204) at com.tongweb.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at com.tongweb.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:734) at com.tongweb.catalina.core.ContainerBase.addChild(ContainerBase.java:710) at com.tongweb.catalina.core.StandardHost.addChild(StandardHost.java:727) at com.tongweb.catalina.core.ThanosStandardHost.addChild(ThanosStandardHost.java:710) at com.tongweb.web.thanos.startup.ThanosHostConfig.deployWar(ThanosHostConfig.java:231) at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.fireWebtierProcess(ThanosWebtierWebAppBuilder.java:473) at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.deployApplication(ThanosWebtierWebAppBuilder.java:384) at com.tongweb.deploy.TongWebDeployer.deploy0(TongWebDeployer.java:389) at com.tongweb.deploy.TongWebDeployer$1.run(TongWebDeployer.java:328) at java.base/java.lang.Thread.run(Thread.java:834)Caused by: com.tongweb.catalina.LifecycleException: Failed to initialize component [com.tongweb.catalina.webresources.JarResourceSet@48067566] at com.tongweb.catalina.util.LifecycleBase.init(LifecycleBase.java:112) at com.tongweb.catalina.util.LifecycleBase.start(LifecycleBase.java:140) at com.tongweb.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:815) at com.tongweb.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 14 moreCaused by: java.lang.IllegalArgumentException: java.util.zip.ZipException: Ilina.LifecycleException: Failed to start component [com.tongweb.catalina.webresources.StandardRoot@4bf837c6]nvalid CEN header (invalid extra data field size for tag: 0xbdbf at 2399) at com.tongweb.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:113) at com.tongweb.catalina.util.LifecycleBase.init(LifecycleBase.java:107) ... 17 moreCaused by: java.util.zip.ZipException: Invalid CEN header (invalid extra data field size for tag: 0xbdbf at 2399) at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1771) at java.base/java.util.zip.ZipFile$Source.checkExtraFields(ZipFile.java:1669) at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1597)

东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1
答:【问题原因】JDK11及以后改进了对 zip 文件和 jar 文件中 ZIP64 额外字段的验证。不满足这些新验证检查的文件可能会导致 ZipException
【解决办法】参考4.3 修改external.vmoptions文件

2. 使用东方通中部署iServer,发布工作空间时,读取文件列表失败,接口返回400

答:【解决办法】
1)为保证SuperMap iServer文件选择器可以正常使用,需要在TongWeb中配置URL参数允许存在未编码的特殊字符,此配置更改后无需重启Tongweb服务即可生效:访问TongWeb管理控制台,在 WEB容器配置>HTTP通道管理>tongweb-http-listener>其他property属性,新增relaxedPathChars与relaxedQueryChars属性,参数值配置为[]|{}。

relaxedPathCharsrelaxedQueryChars

东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1
东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1

3. 东方通TongWeb默认禁用del,put请求,会导致部分功能异常

答:所以需要在tongweb的管理端→WEB容器配置->HTTP通道管理,点击tong-http-listener,修改其他设置的禁用HTTP请求方法,将del,put 等请求屈取消勾选,并点击保存按钮
东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1

4. 如果要使用GPA,11.3.0及以下版本,需要将组件Java环境变量设置为小写bin(默认解压是大写Bin)

5. 东方通Tongweb中,使用GPA中,关于SVG图标报404错误

东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1
答:“tongweb-http-listener”中默认url编码格式是GBK,改成UTF-8则可以正常加载
东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1

(转发请注明出处:https://blog.csdn.net/zhang90522 如发现有错,请留言,谢谢)