以 Windows 系统服务的方式启动 iServer/iPortal/iExpress |
设置以 Windows 系统服务方式启动 SuperMap iServer、SuperMap iPortal 和 SuperMap iExpress 可以通过 service.bat 脚本来实现,也可以通过 Tomcat 提供的命令来实现。如果 Windows 系统服务中有以前版本的 iServer/iPortal/iExpress 服务,则需要先将其删除, 然后再进行服务的注册和启动。
下面以 SuperMap iServer 为例(同样适用于 SuperMap iPortal、SuperMap iExpress 产品),介绍如何设置以 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=iServer8C
set PR_DISPLAYNAME=SuperMap iServer 8C
可以通过 Tomcat 提供的 IS 命令来注册“iServer8C”服务,//IS//后的字符串就是服务名称,可以修改成需要的名称。定位到【SuperMapiServer_HOME】\bin,输入以下命令:
tomcat8 //IS//iServer8C --DisplayName="SuperMap iServer 8C" --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' 。如果为 iExpress ,则需要改为 --Environment path='【iExpress_Home】\support\SuperMap_License;%path%;';iExpress='true' ,其中【iExpress_Home】代表的是 iExpress 根目录,在输入命令时需将【iExpress_Home】替换为 iExpress 所在的根目录。
可以通过三种方式启动/停止 iServer 服务:
注册完成后在 Windows 系统服务中可以看到 SuperMap iServer 服务,可以手动启动/停止,或设为自动启动。
可以通过 Tomcat8提供的 RS/SS 命令来启动/停止“iServer8C”服务,或通过 TS 命令以调试的方式启动服务。定位到【SuperMap iServer_HOME】\bin,输入以下命令:
tomcat8 //RS//iServer8C
tomcat8 //SS//iServer8C
tomcat8 //TS//iServer8C
可以通过 sc start/sc stop 命令来启动/停止服务,在 cmd 中输入如下命令:
sc start iServer8C
sc stop iServer8C
SuperMap iServer 预设了虚拟机参数的推荐值,使用 service.bat 脚本注册服务时,不需要进行此项设置。但是使用 Tomcat7命令来注册服务时,需要设置 Java 虚拟机参数为推荐值。
有以下两种方式调整 Java 虚拟机参数和“iServer8C”服务的其他属性:
定位到【SuperMapiServer_HOME】\bin,输入以下命令启动 tomcat8w.exe 编辑“iServer8C”服务的属性:
tomcat8w.exe //ES//iServer8C
点击 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,输入以下命令更新“iServer8C”服务的属性配置:
tomcat8 //US//iServer8C --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"