本文主要是介绍SuperMap iServer 8C(2017)在东方通TongWeb6.0中的安装部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
作者:MR.
一、介绍
上次介绍了iServer 7c在TongWEB5.0中部署。最近发布的iServer 8c(2017)
即,8.1.0beta版本,新增支持在TongWEB6.0
中部署,与TongWEB5.0版本中的部署略有不同。这里不再介绍新特性等,可以自己查看相关文档。
二、TongWeb安装
请注意:winServer2008R2上TongWEB6.0(包括5.0)使用JDK8版本可能会启动失败!
2.1 在windows上安装
这里使用winServer2008R2 Enterprise sp1
。
安装包:
需要先准备JVM环境,安装JDK,注意,只能使用JDK,只有JRE_HOME无法启动TongWEB。
JDK下载:http://www.oracle.com/technetwork/java/javase/downloads/index.html
安装JDK后配置环境变量:
新建:
JAVA_HOME:D:\Java\jdk1.7.0_80
JRE_HOME:%JAVA_HOME%\jre 或独立JRE(JRE_HOME可以不要)
CLASSPATH: .;%JAVA_HOME%\lib;%JRE_HOME%\lib
追加:
Path:%JAVA_HOME%\bin;%JRE_HOME%\bin
测试是否成功:
接下来,双击运行TongWEB6.0安装包,然后一直下一步,中文引导界面,就不多说了。
以上默认占用端口。
许可:将收到的许可文件(.dat
格式)放TongWEB 6.0 安装根目录即可。
双击快捷方式或者双击TongWEB6.0\bin
目录下startserver.bat批处理文件启动TongWEB:
出现server startup complete in xx ms
表示启动成功。
浏览器访问 localhost:9060/console 进入TongWEB管理控制台:
默认用户名和密码均为twnt,不可更改,只能新建用户。
2.2 Linux上安装
Linux上安装类似windows,这里使用Ubuntu 14.04 server x64
。
安装包:
安装命令:
sh Install_TW6.0.1.0_Standard_linux.bin
执行安装前同样需要JDK环境,同windows,解压jdk-7u80-linux-x64.tar.gz
,在**/etc/profile**写入环境变量:
vi /etc/profile
在最后加入:
export JAVA_HOME=/opt/jdk1.7.0_80
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
按Esc键,输入 :wq
保存退出
使上述环境变量立即生效,执行:
source /etc/profile
或者重启系统后生效。
验证:
安装TongWEB6.0:
使用 Xshell 连接Linux操作系统安装会弹出图形化安装界面:
字符界面按提示一直回车
或输入Y
就行了。
许可:将收到的许可文件(.dat
格式)放TongWEB 6.0 安装根目录即可。
启动TongWeb,在TongWeb6/bin
目录下执行:
sh startserver.sh #前台运行
sh startservernohup.sh #后台运行
启动后访问管理控制台同windows。
三、部署iServer war包
准备:
iServer下载:http://support.supermap.com.cn/DownloadCenter/ProductPlatform.aspx
iServer依赖项:
iServer依赖于SuperMap iObjects java
和jre
,Objectsjava版本不应低于iServer版本,jre版本不应低于iServer要求的版本。
iServer安装包自带iObjects java,iServer8C(2017) war包
解压后,会有support_win_x64.zip
或support_ linux _x64.tar.gz
,里面包含了iServer的依赖项,iObjects java和jre,以及iServer的许可管理工具。
其他依赖项比如windows上的vc++环境(只要不是太老的系统,比如windows server 2003,其他都满足,除非有别的导致出问题操作)、Linux上iServer许可驱动程序依赖的某些32位类库、Objects java依赖的某些类库等,一般不会有什么问题,出现问题时先自己检查(常用检查方法下面会给出),然后联系我们。
环境变量:
Windows下,
添加:
UGO_HOME:D:\support_win_x64\objectsjava
追加:
Path:%UGO_HOME%\bin;
验证:
CMD输入命令:
echo %UGO_HOME%
Linux下,
添加:
export UGO_HOME=/opt/support_linux_x64/objectsjava
添加(追加):
export LD_LIBRARY_PATH=$UGO_HOME/bin:$LD_LIBRARY_PATH
验证:
终端输入命令:
echo $UGO_HOME
添加JAVA环境设置:
windows上,在startserver.bat
文件里添加:
set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager=true
如图:
Linux上,在 startserver.sh
文件中加入:
JAVA_OPTS="${JAVA_OPTS} -Dcom.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager=true"
如图:
自动部署:(推荐)
将解压后的iServer war包各包名去掉#后,放到TongWeb6/autodeploy
目录下即可。
管理控制台部署:
浏览器登陆管理控制台,左侧找到应用管理,点击部署应用,选择文件(iserver.war
),一直下一步,直到部署完成。
因为iServer应用较大,部署时需要耐心等待。如果时间太长或者出错,可以解压war包,直接部署解压后的文件夹。Windows下一般压缩软件就能解压,Linux下使用jar –xvf iserver.war
(不能指定解压目录,只能解压到当前目录)或者 unzip iserver.war –d <目录>
,命令参数可以输入--help
查看,比如:unzip --help
。TongWEB可能出现崩溃(检查操作系统可用内存及CPU峰值等问题),可能需要重启、重新部署几次才会成功。
建议根据使用情况调大 JVM 堆的最大值,即JAVA_OPTS
的Xmx
参数,TongWEB6.0 默认512m,在startserver.bat
和startserver.sh
里可以看到相关内容。
另:手动部署方式:
- 停止TongWEB
- 手动将
iServer.war
解压到deployment
目录(与autodeploy
目录同级)下。 - 在
TongWEB6/conf/tongweb.xml
文件中<apps>
节点下增加<web-app>
节点,可参照其他<web-app>
节点,比如:
<web-app name="iserver" original-location="D:\iserver\iserver.war" location="${tongweb.app}\iserver" context-root="/iserver" vs-names="server" is-directory="false" enabled="true" description="iServer(2017) 8.1.0beta" deploy-order="1" object-type="user" jsp-compile="false" dtd-validate="false" is-autodeploy="false" retire-state="none" retire-strategy="nature" retire-timeout="0" version-serial-number="1"/>
4. 启动TongWEB。
TongWEB可选设置(TW_OPTS):
在startserver.bat
或startserver.sh
中相关位置添加TW_OPTS
可选参数:
-Dopenejb.crosscontext=true --允许跨上下文的访问
iServer许可:
windows上运行<support_win_x64.zip解压路径>\SuperMapLicenseCenter\SuperMap.LicenseCenter.exe
,初次使用会自动安装iServer许可驱动程序、90天试用许可(全功能),是个许可管理工具。
Linux上:
1. 使用 tar –xvf
命令解压<support_linux_x64.tar.gz解压路径>/SuperMap_License/Support/aksusbd_2.4.1-i386.tar
2. 进入该目录执行:./dinst
若安装许可驱动过程中出现32位类库缺失,需要安装相应库。
需要安装的支持库参考如下列表。
- libc6-i386 和 ia32-libs(Ubuntu)
- libstdc+±devel.i686、glibc.i686、libgcc.i686、libstdc++.i686、glibc-devel.i686(RHEL、
CentOS、OpenSUSE、SLES 和 OES) - glibc-32bit(OpenSUSE、SLES 和 OES)
在iServer tar包
中有个Linux依赖项检查工具dependencies_check_and_install.sh
(Windows也有,但几乎用不到),会检查并安装缺失的库,目前并没有单独下载,点击这里下载。
同样,安装后自带全功能90天试用许可。许可管理使用字符界面命令进行,请参考帮助文档。
完成许可安装后iServer就能正常使用了(默认使用TongWEB server
虚拟主机,默认访问端口:8080
):
四、其他
为了在iServer web页面点击链接能正常跳转,需要修改 help
和 iClient
的url路径:
直接修改 <TongWEB安装路径>\config\twns.xml
文件 <web-app>
节点 help
和 iClient
对应的 context-root
或者管理控制台,应用管理点击应用,修改应用前缀:
注意,TongWEB请求和应答编码默认都是GBK,可以在WEB容器配置/容器配置修改:
Linux上Objectsjava依赖项检查:
命令:
ldd $UGO_HOME/bin/libWrapj.so
若出现not found
的库,手动安装上,或建立软连接即可。
关于数据库引擎:
除了在 SUSE 上需要安装第三方数据库客户端才能正确加载 sdx 数据引擎,也就是说:没有装第三方数据库客户端的对应sdx 数据引擎
需要删除(详见帮助文档FAQ),其他Linux不需要做此处理。
数据库引擎依赖第三方数据库客户端某些库,检查命令(以Oracle为例):
ldd $UGO_HOME/bin/libSuEngineOracle.sdx
若数据库客户端能连上数据库,同一台机器的iServer打开不了该数据库型的数据源,除了位数需要一致(比如数据库客户端和iServer都是64位),可能就是sdx数据引擎
依赖项缺失了,可以用上面命令检查,有not found
的库就安装,或者建立相应软连接。
iServer帮助文档已经列出常见问题及解决方案,另可在超图技术资源中心,以及在超图问答社区搜索相关内容。
这篇关于SuperMap iServer 8C(2017)在东方通TongWeb6.0中的安装部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!