这样的事情真有可能发生,在一台机器上安装好ArcGIS 10.1 for Server,也发布了服务,但是有一天将自己的计算机名称改了,这导致的结果就是ArcGIS Server的Manager 页面进不去了,如何是好呢?
当然可以将计算机名称又改回去,如果不改有没有办法,办法肯定有啦,而且很简单。
ArcGIS Server 安装后,并加入了一个站点,那么会在framework/etc下创建两个文件,其中一个就是我们上篇提到的指向config-store的文件,还有另外一个就是计算机的描述信息,文件名为:machine-config.xml,该文件的内容如下:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Machine>
<MachineName>ESRI-PC</MachineName>
<Platform>Windows 7-amd64-6.1</Platform>
<Ports>
<JMXPort>4000</JMXPort>
<OpenEJBPort>4001</OpenEJBPort>
<NamingPort>4002</NamingPort>
<DerbyPort>4003</DerbyPort>
<tcpClusterPort>4004</tcpClusterPort>
<HTTP>6080</HTTP>
</Ports>
<WebServerMaxHeapSize>-1</WebServerMaxHeapSize>
<webServerSSLEnabled>false</webServerSSLEnabled>
<webServerCertificateAlias>liuyussl</webServerCertificateAlias>
<AppServerMaxHeapSize>256</AppServerMaxHeapSize>
<SocMaxHeapSize>64</SocMaxHeapSize>
<WebServerMaxHeapSize>-1</WebServerMaxHeapSize>
</Machine>
该文件里面就有该机器的CPU信息,计算机名称 以及一些通信端口。
我们可以将这个文件中的计算机名字修改了。
于此同时,我们还需要修改一下config-store目录中的一些信息,
进入config-store会看到一个machines的文件夹,该文件里面会存储该站点的计算机,每一个计算机都会有一个json格式的文件,并且文件名为计算机名称,
{"machineName":"ESRI-PC","platform":"Windows 7-amd64-6.1","ports":{"HTTPS":-1,"JMXPort":4000,"OpenEJBPort":4001,"NamingPort":4002,"DerbyPort":4003,"tcpClusterPort":4004,"HTTP":6080},"ServerStartTime":1350608511954,"webServerMaxHeapSize":-1,"appServerMaxHeapSize":256,"socMaxHeapSize":64,"webServerSSLEnabled":true,"webServerCertificateAlias":"liuyussl","adminURL":"https://ESRI-PC:6443/arcgis/admin","configuredState":"STARTED","synchronize":false}
将该文件中计算机名也修改了。
我们知道一个站点至少有一个集群,而一个集群也至少有一个机器,因此我们也要去config-store文件夹中的clusters目录下修改计算机的名称,该文件的内容如下:
{"clusterName":"default","clusterProtocol":{"type":"TCP","tcpClusterPort":4004},"configuredState":"STARTED","machineNames":["ESRI-PC"]}
如果该机器还注册了文件夹,那么可能需要在config-store下面的data文件夹中修改一些信息,在这里不再重复
两篇文章的介绍,让我们更看清了Server的架构,Server中使用大量的配置文件来控制一些信息,这体现了Server架构的灵活性,这两篇博客也说明了这些配置文件的重要性,一旦Server出现了问题,我们就可以从这个流程上去找原因。
大家在修改config-store下的配置文件的时候,最好将server停掉,因为只要server启动了,这些配置文件都被锁住了,为了避免其他错误,建议停掉Server。
也许有人问Server的6080端口能不能修改,这个我正在研究,有了结果跟大家一同分享,也欢迎大家的宝贵意见!