发布篇
ArcGIS Server发布服务有几种方式,但是都必须先下载好ArcGIS Server。关于下载server一i就有很多教程,读者可以自行查阅
方法1 :如果使用ArcMap for Desktop的话,也就是使用ArcMap进行发布服务,首先,我们要在我们的Arcmap上连接上安装好的ArcGIS Server,位置在ArcMap的目录中,点击添加ArcGIS Server
选择发布GIS服务
点击下一页。如果是在本地(自己的电脑中发布)发布服务的话,服务器URL为http://localhost:6080/arcgis。如果是云服务器这类,则是http://IP地址:6080/arcgis。服务器类型选择ArcGIS Server。在身份验证中输入安装Server时设置的用户名及密码
完成后就可以在Arcmap的服务器目录下看到自己刚刚连接上的Server
然后在Arcmap中添加自己想要发布的服务,将要素保存为.mxd格式
在文件下找到共享为>>服务
选择发布服务
如果之前没有配置过Server,这时候需要把自己刚刚连接好的server加进去
按照之前在ArcMap中添加Server一样的方法进行配置即可
给自己的服务进行命名。
进入到发布服务的环节。此时有两个选择,一个是使用现有的文件夹,选择根的话,服务就
会在网页里的ArcGIS Server Manger中 站点(根 )中(图一),如果是创建新文件夹,则会在站点(根)下创建一个文件夹并在里面保存服务
图一
进入服务编辑器中,选择功能,通常自带了"地图"与"KML"
如果想加上feature access要素服务这一功能。我们需要将ArcMap 连接上企业级的数据库,比如MySQL,具体的实现方法这位博主以及讲清楚了,附上原文链接(10条消息) (三)ArcGIS Server之发布要素服务_GISer.Wang的博客-CSDN博客
之后点击服务编辑器中的分析,查看是否有红色高风险警报,有红色警告无法发布服务。
最后点击发布就可以在网页里的server manager 中查看刚刚发布的服务了
按照默认的两个功能我们可以实现对服务的允许的操作有“地图”“查询”“数据”
方法2:没有安装ArcMap的情况
2.1使用.sd文件(我试过几次都没有成功)
具体的操作如下
首先还是点击文件>>共享为>>服务
在共享为服务中选择保存服务定义文件
在保存服务定义文件时选择无可用连接,并勾选发布时包括服务定义中的文件,启用此选项会复制 GIS 资源引用的所有数据,并将其封装到服务定义文件中。在发布时,会将服务及其关联的数据上传到服务器中。对服务名称命名后点击下一页
之后我卡在这一步,解决方法还没找到,如果知道怎么解决可以私信联系我。
2.2做服务迁移
前提:自己发布的服务没有问题,可以点击ArcGIS Server Manger中进行查看,步骤如下
如果发布的服务有问题就会显示报错ERROR
之后服务迁移可以查阅这篇文章,按照博主的方法很快就可以完成服务迁移,(10条消息) ArcGIS Server服务数据迁移_先生余枫的博客-CSDN博客
2.3远程发布(针对云服务器)更改localhost 为IP地址就可以了,其他的和安装了ArcMap一样的步骤
问题篇
我在发布服务时碰到了比较多的问题,现在整理出来,以后如果遇到新的问题会继续更新这一篇
问题一:发布的服务状态转为正在停止
方法:问题一般出在端口占用。WIN+R 命令栏输入cmd,在弹出的界面中输入
netstat -ano|findstr “4000”
查看有哪些程序正在占用这个端口
记住左侧的PID数字,通过ctrl+shift+esc,打开详细信息,通过PID找到这个程序,关掉就可以了。通常都是下图这玩意javaw.exe
重新打开Manager就可以了。
问题二:远程发布(用自己的Arcmap连接非本地的Server,例如云服务器)带有Feature access功能服务时失败
方法:Feature access功能必须要连接上数据库才可以成功,没有链接数据库时在发布前的分析时就会出现红色警告。取消勾选Feature access重新发布
问题三:云服务器上服务的调出
服务调用无论是在调用本地服务还是云服务器上的步骤是一样的,都是在ArcGIS Server Manager中点击服务在功能一栏中复制REST URL
有细心的小伙伴可能已经注意到了,此时的REST URL中的localhost被换成了云服务器的IP地址
这时候再进行调用就可以显示了