SuperMap iServer 10i安装部署
一、下载
下载SuperMap iServer 10i SP1 for Linux(64位)(TAR包)
地址:http://support.supermap.com.cn/DownloadCenter/DownloadPage.aspx?id=1207
1.系统配置要求
推荐硬件要求:
处理器:双核,2.00 GHz或以上
内存:4 GB或以上
硬盘:80 GB或以上
网络适配器 :100M或以上网络适配器
显示适配器 :512M或以上显存(安装显示适配器驱动),OpenGL 版本:3.0
软件要求:
CentOS 7.x
Red Hat Enterprise Linux 7.x
SUSE Linux Enterprise Server 12.x
中标麒麟操作系统服务器版 5.0/6.0
Ubuntu Server 14.04 LTS
其它软件要求(64位,可选):
JRE 1.8 及其以上版本
SuperMap iObjects Java 10i for Linux
仅当用户不希望使用 SuperMap iServer 10i 自带的 JRE(Java Runtime Environment)或 SuperMap iObjects 时,才需要手工配置。
说明:SuperMap iServer 10i 依据tomcat8.5改造,内置JRE 1.8
二、安装
tar压缩包有readme.txt和SuperMap_iServer_10i_Readme_Linux_CHS.pdf安装说明。
一键安装依赖包
tar -zxvf supermap-iserver-10.0.1-linux64.tar.gz
ln -s ./softs/supermap-iserver-10.0.1-linux64 supermap10
cd ./supermap10/support
./dependencies_check_and_install.sh install -yr
# 许可依赖
yum install -y --setopt=protected_multilib=false libstdc++-devel.i686 glibc.i686 libgcc.i686 libstdc++.i686 glibc-devel.i686
手动安装依赖包(可选)
#在 RedHat、SUSE 系列操作系统上安装使用 iServer 时,需要的依赖库包括 libgomp、libpng12等。您可以通过 yum install 命令完成安装。
#安装 libgomp、libpng12等,依次执行以下命令:
sudo yum install libgomp
sudo yum install libpng12
sudo yum install libXext
sudo yum install libXi
sudo yum install libXrender
sudo yum install libXtst
#安装许可驱动依赖的库,依次执行以下命令:
sudo yum install --setopt=protected_multilib=false libstdc++-devel.i686
sudo yum install --setopt=protected_multilib=false glibc.i686
sudo yum install --setopt=protected_multilib=false libgcc.i686
sudo yum install --setopt=protected_multilib=false libstdc++.i686
sudo yum install --setopt=protected_multilib=false glibc-devel.i686
三、配置
1.试用许可配置
查看readme.txt,查看获取试用授权方式,在 Linux 操作系统下,支持软许可和硬件许可方式。但都必须安装驱动程序,所有的许可验证都是通过驱动的方式进行通信。(90天试用期)
cd supermap10/support/SuperMap_License/Support/
tar -xvf *.tar
chmod +x dinst
./dinst
# 查询许可状态
cd /home/supermap/supermap10
./licensetool.sh -s
如果您获得的是由超图软件授权的软许可,请将您获得的由超图软件授权的正式许可文件(.v2c)指定到文件位置,并通过./licensetool.sh -update命令使许可生效。
./licensetool.sh -update /路径名/.v2c
如果您获得的是硬件许可,请打开浏览器,访问 http://localhost:1947 或 http://本地IP:1947,在左侧“Options”中选择“Configuration”,在右侧选择“Access to Remote License Managers”选项卡,在“Specify Search Parameters”填入其他网段的许可服务器IP,点击“Submit”,稍等几分钟就可以在左侧“Options”中的"Sentinel Keys”选项下看到该服务器的加密锁了。
2.更新许可
cd /home/supermap/supermap10
./licensetool.sh -update /路径名/*.v2c
3.防火墙设置
firewall-cmd --zone=public --add-port=8090/tcp --permanent
firewall-cmd --reload
四、启动、停止
cd /home/supermap/supermap10/bin
./startup.sh
./shutdown.sh
使用./startup.sh启动服务后,等待1~2分钟,查看java进程状态。
[root@localhost bin]# jps -l
3825 org.apache.catalina.startup.Bootstrap
4883 com.supermap.sps.server.SpsServerApplication
4968 sun.tools.jps.Jps
五、访问
SuperMap iServer 10i 服务器启动后,会自动发布默认的 GIS 服务,SuperMap iServer 10i 默认的端口号为8090。
通过 http://:/iserver 即可访问 SuperMap iServer 10i 服务的首页。
通过 http://:/iserver/manager 可以进入服务管理页面,进行服务管理。
通过 http://:/iserver/services 可以查看服务器当前发布的所有服务。
六、服务开机自启动
前面已经提到SuperMap iServer 10i,依据tomcat 8.5改造,而SuperMap iServer 10i的服务开机自启动和tomcat的服务开机自启动配置一样。
1.编写启动脚本
vim /etc/init.d/iServer
说明:
- 请修改以下脚本中的CATALANA_HOME变量值,指向iServer10根目录。
- chkconfig: 2345 30 70,注意30为服务启动顺序,70为服务关闭属性。
确保服务启动顺序大于27(iServer10许可相关服务/etc/init.d/aksusbd)
#!/bin/bash
#
# iServer startup script for the iServer server
#
#
# chkconfig: 2345 30 70
# description: start the iServer deamon
#
# Source function library
. /etc/rc.d/init.d/functions
prog=iServer
CATALANA_HOME=/root/iServer10/
export CATALINA_HOME
case "$1" in
start)
echo "Starting iServer..."
$CATALANA_HOME/bin/startup.sh
;;
stop)
echo "Stopping iServer..."
$CATALANA_HOME/bin/shutdown.sh
;;
restart)
echo "Stopping iServer..."
$CATALANA_HOME/bin/shutdown.sh
sleep 10
echo
echo "Starting iServer..."
$CATALANA_HOME/bin/startup.sh
;;
*)
echo "Usage: $prog {start|stop|restart}"
;;
esac
exit 0
如果需要在stop之后等待数秒后强制kill进程的话,可增加以下内容:
#set CATALINA_PID for forcing to kill the porcesser while stopping tomcat
CATALINA_PID=/var/run/catalina.pid
# 改为5秒后强制kill进程
$CATALANA_HOME/bin/shutdown.sh 5 -force
2.添加服务
# 增加执行权限
chmod a+x iServer
# 加入服务管理
chkconfig --add iServer
chkconfig --list
# 启动服务
systemctl start iServer
# 停止服务
systemctl stop iServer
参考:
SuperMap iServer在linux环境中部署
问题:
有时候服务器重启之后,无法获取许可文件状态。
原因:
可能是软件冲突导致许可中心服务(默认端口1947)异常。
http://localhost:1947/int/ACC_help_index.html
# 检查许可中心服务状态
netstat -anp |grep 1947
curl http://localhost:1947/_int_/ACC_help_index.html
# 检查许可文件状态
cd /home/supermap/supermap10
./licensetool.sh -s
临时解决办法:
多重启几次aksusbd许可中心服务,直到通过./licensetool.sh -s可以正常获取授权状态。
# 重启aksusbd服务
systemctl restart aksusbd
# 授权状态正常之后,最后再重启iServer web服务
systemctl restart iServer
永久解决办法:
排查出冲突软件包,根据情况处理。(本人是在重装GNOME Desktop桌面时,动了依赖的rpm软件包,然后aksusbd许可中心服务就始终正常了,不再出现该问题!!!😅)