以 Windows 系统服务的方式启动 iServer/iPortal/iEdge |
设置以 Windows 系统服务方式启动 SuperMap iServer、SuperMap iPortal 和 SuperMap iEdge 可以通过 service.bat 脚本来实现,也可以通过 Tomcat 提供的命令来实现。如果 Windows 系统服务中有以前版本的 iServer/iPortal/iEdge 服务,则需要先将其删除, 然后再进行服务的注册和启动。
下面以 SuperMap iServer 为例(同样适用于 SuperMap iPortal、SuperMap iEdge 产品),介绍如何设置以 Windows 系统服务方式启动。进行以下操作时,建议以管理员身份打开cmd.exe。
如果 Windows 系统服务中已有 SuperMap iServer 服务,则先将其删除,可以采用以下方法:
打开 cmd.exe,输入以下命令:
sc delete iServer8C
打开 cmd.exe,定位到【SuperMap iServer_HOME】\bin,输入以下命令:
service.bat remove
定位到【SuperMap iServer_HOME】\bin,输入以下命令:
tomcat8 //DS//iServer8C
注意:如果Windows系统服务中已有旧版本的iServer,则应先在Windows服务中查看服务名,再将其删除,推荐使用第一种方式。例如:SuperMap iServer 7C的服务名为“iServer7C”,则删除命令为:sc delete iServer7C。
可以通过 service.bat 和 Tomcat 命令两种方式将 iServer 注册为系统服务,推荐方式是通过 service.bat 来注册。
SuperMap iServer 提供的 service.bat 脚本设置了常用参数和 Java 虚拟机的推荐值,所以使用此脚本注册服务后不再需要其它设置。该脚本位于【SuperMap iServer_HOME】\bin,可以进行服务的注册/删除(install/remove),如注册服务时,以管理员身份打开 cmd,定位到【SuperMap iServer_HOME】\bin,输入 install 命令如下:
service.bat install
其中,单机启动多个 iServer 服务时,为避免服务重名影响注册,需要修改 service.bat 中的服务名称,即“SERVICE_NAME”的值,如下:
set SERVICE_NAME=iServer11i(2024)
set PR_DISPLAYNAME=SuperMap iServer 11i(2024)
可以通过 Tomcat 提供的 IS 命令来注册“iServer11i(2024)”服务,//IS//后的字符串就是服务名称,可以修改成需要的名称。定位到【SuperMapiServer_HOME】\bin,输入以下命令:
tomcat8 //IS//iServer11i(2024) --DisplayName="SuperMap iServer 11i(2024)" --Install="【SuperMapiServer_HOME】\bin\tomcat8.exe" --Jvm=auto --StartMode=jvm --StopMode=jvm --StartClass=org.apache.catalina.startup.Bootstrap --StartParams=start --StopClass=org.apache.catalina.startup.Bootstrap --StopParams=stop --Classpath="【SuperMapiServer_HOME】\bin\bootstrap.jar;【SuperMapiServer_HOME】\bin\tomcat-juli.jar" --Environment path='%UGO_HOME%\bin;%path%;'
如果为 iPortal,则需将上面的 --Environment path='%UGO_HOME%\bin;%path%;' 改为 --Environment path='%UGO_HOME%\bin;%path%;';iPortal='true' 。如果为 iEdge ,则需要改为 --Environment path='【iEdge_Home】\support\SuperMap_License;%path%;';iEdge='true' ,其中【iEdge_Home】代表的是 iEdge 根目录,在输入命令时需将【iEdge_Home】替换为 iEdge 所在的根目录。
可以通过三种方式启动/停止 iServer 服务:
注册完成后在 Windows 系统服务中可以看到 SuperMap iServer 服务,可以手动启动/停止,或设为自动启动。
可以通过 Tomcat8提供的 RS/SS 命令来启动/停止“iServer11i(2024)”服务,或通过 TS 命令以调试的方式启动服务。定位到【SuperMap iServer_HOME】\bin,输入以下命令:
tomcat8 //RS//iServer11i(2024)
tomcat8 //SS//iServer11i(2024)
tomcat8 //TS//iServer11i(2024)
可以通过 sc start/sc stop 命令来启动/停止服务,在 cmd 中输入如下命令:
sc start iServer11i(2024)
sc stop iServer11i(2024)
注意:对于 Windows 7 系统,在将 iServer 注册为系统服务后,还需在 windows 服务中将启动 iServer 使用的 Tomcat(如 Apache Tomcat 9.0 iServer11i) 的登录属性设置为本地系统账户-允许服务与桌面交互,才可正常访问。
SuperMap iServer 预设了虚拟机参数的推荐值,使用 service.bat 脚本注册服务时,不需要进行此项设置。但是使用 Tomcat7命令来注册服务时,需要设置 Java 虚拟机参数为推荐值。
有以下两种方式调整 Java 虚拟机参数和“iServer11i(2024)”服务的其他属性:
定位到【SuperMapiServer_HOME】\bin,输入以下命令启动 tomcat8w.exe 编辑“iServer11i(2024)”服务的属性:
tomcat8w.exe //ES//iServer11i(2024)
点击 Java 选项卡,修改相关 Java 虚拟机内存参数如下图:
其中,-XX:MaxPermSize=192m 为独立的一行,前后无空格。
点击 Startup 和 Shutdown 选项卡,设置工作路径为【SuperMapiServer_HOME】\bin,这样可以保证【SuperMapiServer_HOME】\webapps\iserver\WEB-INF\iserver-log4j.properties 中通过相对路径指定的日志文件 iserver.log 存放在【SuperMapiServer_HOME】\logs 中。
可以通过 tomcat8 的 //US// 命令直接更新设置上述参数。定位到【SuperMapiServer_HOME】\bin,输入以下命令更新“iServer11i(2024)”服务的属性配置:
tomcat8 //US//iServer11i(2024) --JvmMs 256 --JvmMx 512 --JvmSs 512 --JvmOptions="-Dcatalina.base=【SuperMapiServer_HOME】;-Dcatalina.home=【SuperMapiServer_HOME】;-Djava.endorsed.dirs=【SuperMapiServer_HOME】\endorsed;-Djava.io.tmpdir=【SuperMapiServer_HOME】\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=【SuperMapiServer_HOME】\conf\logging.properties;-XX:MaxPermSize=192m" --StartPath="【SuperMapiServer_HOME】\bin" --StopPath="【SuperMapiServer_HOME】\bin"