背景
这两天因为客户机房维护升级(搞了骚操作),原来部署ArcGIS Server的虚拟机ip变了,导致之前发的服务起不来。一开始,我想:这不是很简单?在数据库连接和GIS服务器的属性设置里把原来的ip换成现在的ip不就行了吗?
但事实并非如此,此时心理一万句mmp要出来了,毕竟项目很赶,然后还遇上这种搞骚操作的客户。
报错及其现象
报错很简单(图没机会截):
port: 4000 is already used//(4000端口被占用)
附带现象是:在catalog里打开装着服务的文件夹会非常卡,在ArcGIS Server manager里看,所有服务都没起来,包括原来系统自带的那个服务。而且你想这些服务重新发布,软件就会卡死。
问题解决
在windows服务列表里找到ArcGIS Server这个服务并重新启动。
个人理解:虚拟机的ip从A换成B之后,ArcGIS里面记录的还是A,所以首次启动时,ArcGIS Server的服务读取的是A。你打开ArcMap,把里面配置的ip改成B,数据库和GIS服务器都能连上,但GIS服务器里面具体的地图服务却读不到修改后的ip,导致无法启动。原因是具体的地图服务读取的是ArcGIS Server这个服务(windows)里面的配置,而后者的配置并不会实时更新,只能重启生效,导致服务启动时一直用着错误的ip。
前面展开装服务的文件夹和启动服务都很卡,很可能是由于系统在后台用错误ip反复重连。