常见问题及解决方案
在本主题中
本主题中列出了您在使用 ArcGIS Server 时可能面临的问题及建议的可行解决方案。如果未能在本主题中找到您要查找的问题,也可以访问 Esri 技术支持中心网站以搜索相关文章。
安装
管理
- 如何更改 ArcGIS Server 以使用除 6080 之外的端口以及除 arcgis 之外的站点名称?
- 如果对主站点管理员密码重置 (passwordreset.sh) 脚本的安全性很担心。应该怎样做?
- ArcGIS Server 是否可以在断开网络连接的情况下运行?
- 我正尝试在通过 ArcGIS Web Adaptor 连接到 ArcGIS for Desktop 中的服务器,但是连接失败。
- 是否可以用安全的方式对 ArcGIS Server 站点中的 GIS 服务器计算机进行重命名?
- 如何为 ArcGIS Server 在运行时创建的文件设置访问权限?
- 我已在 ArcGIS Server 站点中禁用基于 HTTP 的通信,现在使用所安装的快捷方式无法访问帮助。
- 当我尝试将数据库注册到 ArcGIS Server 时,收到错误消息数据库连接无效或数据项无法访问。
- ArcGIS Web Adaptor 无法识别不可用的计算机或添加到站点的新计算机。
- 在 ArcGIS Server 10.0 和之前版本中使用过的服务器配置文件在哪里?
- 如何更改 ArcGIS Server 使用的临时目录?
- 我可以将一个 ArcGIS Web Adaptor 配置为同时与 ArcGIS Server 和 Portal for ArcGIS 一起使用吗?
管理器
服务
- 已升级到 ArcGIS 10.3.1 for Server 版本,现在的服务 URL 和实例名称与版本 10 中的有所不同。
- 为什么无法使用管理器将 MXD、MSD、地址定位器和其他 GIS 资源发布到服务器?
- 创建 ArcGIS Server 站点后,我注意到服务显示在管理器的服务列表中。这些是什么?为什么它们中有些无法删除?
- 将一个服务添加到 Web 应用程序,但是该服务似乎不可用。
- 更新地图文档后停止并再次启动服务,但是未在地图服务中看到更新。
- 如何安装用于 ArcGIS Server 的自定义字体?
- 尝试在管理器中发布服务定义时,浏览器崩溃。
- 当在 ArcMap 中尝试发布地图服务时,单击文件 > 共享为,但服务选项不可用(灰显)。
- 当尝试发布引用 Samba 目录中数据的 GIS 资源时,在 ArcGIS for Desktop 中收到错误消息。
- 可使用 ArcGIS Server 发布哪些符合 OGC 规范的服务?
- 在创建包含数据库或地理数据库中的图层的服务时遇到问题。
- 开始创建地图缓存,且该过程用去很长时间。此创建过程将于何时结束?
- 最近对地图和 globe 缓存进行了更新。客户端应用程序会自动识别出更新后的可用切片吗?
ArcGIS Server 是一种数据密集型的服务器产品,此产品的许多数据格式都包含数以万计的文件。常用系统中,在任意给定的时间内可能有数千或数万个文件正被使用。如果文件句柄和进程数不足,安装请求可能会随机出现失败,从而导致系统停止运行。实际需要的文件句柄数和进程数取决于数据和正在运行的实例(线程/进程)的数量。设置文件句柄限值 65,535 和进程限值 25,059 可以确保系统保持运行。
Linux 上有文件句柄和进程的软限制和硬限制。要确定硬限制,请使用命令 ulimit -Hn -Hu(如果正在使用 csh 则用 limit -h 描述符)。要确定软限制,请使用命令 ulimit -Sn -Su(如果正在使用 csh 则用 limit 描述符)。
要增加软限制和硬限制,您需要使用超级用户访问权限编辑 /etc/security/limits.conf 文件。例如,您可以在该文件中添加以下四行:
<ArcGIS Server installation user> soft nofile 65535
<ArcGIS Server installation user> hard nofile 65535
<ArcGIS Server installation user> soft nproc 25059
<ArcGIS Server installation user> hard nproc 25059
做出更改后,需要注销并以特定用户身份重新登录,以便新值生效。要验证限制是否已正确修改,可以使用上述 ulimit -Hn -Hu 和 ulimit -Sn -Su 命令。
默认情况下,ArcGIS Server 通过端口 6080 发布 Web 服务,使用的站点名称为 arcgis。例如,ArcGIS Server 站点的默认 URL 为 http://gisserver.domain.com:6080/arcgis。建议安装 ArcGIS Web Adaptor 来通过其他端口和站点名称发布 web 服务。
如果服务器管理员将 Web Adaptor 配置为阻止服务器的管理访问权限,则不能使用管理连接或发布者连接通过 Web Adaptor URL 在 ArcGIS for Desktop 中连接到服务器。或者,也可以通过使用 URL 格式 http://gisserver.domain.com:6080/arcgis 在 ArcGIS for Desktop 中直接连接到 GIS 服务器。有关详细信息,请参阅关于在 ArcGIS for Desktop 中连接到 ArcGIS Server。
可以。ArcGIS Server 会自动检测计算机名的更改并将站点重新配置为使用新的名称。在使用操作系统工具重命名计算机后,服务器日志中可能会显示以下消息:
ArcGIS Server 检测到服务器计算机 [旧计算机名] 已更改为 [新计算机名]。ArcGIS Server 将自动更新为使用新主机名。
根据站点部署情况,您可能需要执行一些其他步骤,以确保将站点正确配置为使用新计算机名:
- 如果站点已启用 SSL 且证书使用的是先前的计算机名,则需生成新的 SSL 证书并配置站点以对其进行使用。有关完整的说明,请参阅在 ArcGIS Server 上启用 SSL。
- 如果已将 ArcGIS Web Adaptor 配置为使用先前的计算机名,则需通过使用已更新计算机名的新 URL 对其进行配置。有关完整的说明,请参阅安装后配置 Web Adaptor。
只有运行 ArcGIS Server 的帐户才能够访问 ArcGIS Server 在运行时生成的文件。要更改运行时生成的文件(如服务器日志)的访问权限,需在 init_user_param.sh 脚本中设置用户文件模式创建掩膜 (umask)。要编辑此脚本,请导航至 <ArcGIS Server 安装目录>/arcgis/server/usr 目录。
- 默认情况下,umask 设置为 077,这意味着其他用户无法读取或将数据写入运行时文件。这对于大多数私有 ArcGIS Server 系统已足够。
- 如果 umask 设置为 022,则仅允许运行 ArcGIS Server 的账户读取和写入数据。但是,系统中的任何人均可读取数据。
- 当运行 ArcGIS Server 的帐户与同组中的其他用户共享数据时,最好将 umask 设置为 002。请注意,运行 ArcGIS Server 的帐户所属组的成员也可以创建和修改数据文件。不允许组外的用户创建和修改数据文件。
- 将 umask 设置为 007 可将不是运行 ArcGIS Sever 的帐户组中成员的用户完全排除。
修改访问权限后,需立即重新启动 ArcGIS Server 才能使更改生效。请注意,将 umask 设置修改为 077 以外的值之后,即改变了 ArcGIS Server 在运行时创建的所有文件的访问权限。
默认情况下,ArcGIS Web Adaptor 每分钟都会检查站点的新计算机或不可用的计算机。如果自添加、移除或禁用计算机后等待已超过一分钟,Web Adaptor 仍无法识别这些变化,则可能是因为您更改了最初将 Web Adaptor 注册到站点的用户的属性。
例如,如果已禁用将 ArcGIS Web Adaptor 注册到站点时所用的帐户、更改了密码或已将角色类型降级为不具有管理权限的角色,则 Web Adaptor 将无法检查站点的新计算机或不可用计算机的状态。要解决此问题,需要重新配置 Web Adaptor。有关详细的说明,请参阅安装后配置 Web Adaptor。
从 ArcGIS Server 10.1 版开始,在 ArcGIS Server 10.0 和之前版本中使用的纯文本服务器配置文件将不再属于服务器架构。您可能会在配置存储中找到类似的文件,但这些文件不适合进行手动编辑,如果您选择直接对其进行修改,则可能会严重破坏服务器的稳定性。相反,您应该使用 ArcGIS Server Manager 来调整服务器属性。ArcGIS Server 还提供可用于安全进行服务器配置脚本更改的 ArcGIS REST API。要开始此过程,请参阅登录管理器和编写 ArcGIS Server 管理脚本。
临时目录的默认位置在 <ArcGIS Server 安装目录>/arcgis/server/temp。要指定其他临时目录,需要在 init_user_param.sh 脚本中设置 SERVER_TEMP_DIR 变量。要编辑此脚本,请浏览至 <ArcGIS Server 安装目录>/arcgis/server/usr 目录。移除 SERVER_TEMP_DIR 环境变量前的 # 符号并指定新临时目录的位置。指定的位置必须可供用于安装 ArcGIS Server 的帐户访问。
# -----------------------------------------------------------------------
# Modify this section to change the temp directory
#
# The default location for the temp directory is at
# <ArcGIS Server installation directory>/arcgis/server/temp.
# The specified directory needs to be accessible by the account
# that was used to install ArcGIS for Server.
# -----------------------------------------------------------------------
#SERVER_TEMP_DIR=<Location_to_temp_directory>
要让您的设置在 init_user_param.sh 脚本中生效,需要重新启动 ArcGIS Server。可以通过运行 startserver.sh 脚本,手动重启部署中的每个 GIS 服务器,来执行此操作。
要登录管理器必须提供被授予针对 GIS 服务器的管理员或发布者权限的用户名和密码。用户名和密码区分大小写。必须输入正确的大小写才能登录到管理器。与服务器管理员沟通以确定应使用的用户名和密码。如果您是管理员,请提供您在创建站点时所指定的用户名和密码。有关详细信息,请参阅登录管理器。
从版本 10.1 开始,移除了使用管理器检索 Bing 地图密钥的功能。您可以访问 My Esri 网站或联系您的 Esri 客户服务代表索要您的密钥。
默认情况下,ArcGIS Server 通过端口 6080 发布 Web 服务,使用的站点名称为 arcgis。在版本 10.1 及更高版本中创建的服务的 URL 中将包含端口 6080 和 arcgis。例如:
ArcGIS Server 版本 | URL 示例 |
---|---|
10 | http://gisserver.domain.com/planners/services/MyMapService/MapServer |
10.1 及更高版本 | http://gisserver.domain.com:6080/arcgis/services/MyMapService/MapServer |
如果要在 10.1 或更高版本中保留版本 10 的服务 URL 和实例名称,应安装 ArcGIS Web Adaptor。Web Adaptor 用于将 ArcGIS Server 与企业级 Web 服务器相连,从而允许您配置与 ArcGIS 10 部署相匹配的站点 URL。有关详细信息,请参阅有关 ArcGIS Web Adaptor。
从 ArcGIS 10.1 for Server 开始,您尝试向 ArcGIS Server 发布的 GIS 资源需要经过更为严格的分析过程,以确保它们可以在 Web 上公开。由于 GIS 资源需要先进行分析才可以发布,ArcGIS for Desktop 现已成为用于将服务发布到 ArcGIS Server 的主要工具。
然而,如果在云环境或高度安全的环境下,可以创建服务定义文件,这种文件可以使用管理器发布到 ArcGIS Server。通过服务定义文件,您可以获取 GIS 资源和数据的快照并在之后将其以服务的形式发布到 ArcGIS Server。任何 GIS 资源都可以在 ArcGIS for Desktop 中经过分析封装为服务定义文件。一旦创建服务定义文件,您就可以在管理器中浏览至此文件并将其发布为服务。
有关详细信息,请参阅关于发布服务。
ArcGIS for Server 安装有各种预配置服务,可帮助您执行各种常见任务,例如:
- 缓存地图和影像服务(CachingTools、ReportingTools)
- 发布服务 (PublishingTools)
- 打印 Web 地图 (PrintingTools)
- 执行几何计算 (Geometry)
- 预览 ArcGIS Server 的功能 (SampleWorldCities)
- 在客户端和 ArcGIS Server 之间同步数据 (SyncTools)
基本服务(如 CachingTools、PublishingTools 和 ReportingTools)在默认情况下处于启动状态,无法删除。停止这些服务将会对 ArcGIS Server 的性能和功能产生不利影响。
不重要的服务(如 Geometry 和 PrintingTools)在默认情况下处于停止状态。如果需要使用这些服务,可以在管理器或 ArcGIS for Desktop 中显式启动这些服务。SampleWorldCities 地图服务在默认情况下处于启动状态,可随时删除。
请注意,仅在服务处于启动状态、且已请求执行任务时,才会消耗服务器资源。有关详细信息,请参阅 ArcGIS Server 中包含的内容中的预配置服务部分。
如果 Web 应用程序引用的服务来自远程服务器(托管您的 Web 应用程序的服务器以外的服务器),托管您的 Web 应用程序的服务器应具有从远程服务器上访问该服务的权限。通常,托管您的 Web 应用程序的服务器是随 ArcGIS Web Adaptor 一同安装的服务器,并且托管您的服务的服务器是 GIS 服务器。如果这两个服务器位于不同的域中,出于安全考虑,不允许运行该 Web 应用程序的 Web 浏览器插件访问该服务。要跨 Web 域访问服务,托管服务的 Web 服务器的根目录下必须放置一个客户端访问策略文件。
如果服务器管理员在 ArcGIS Server 站点上启用了安全性,此文件可能需要进行修改使其包含托管您的 Web 应用程序的服务器的域。有关详细信息,请参阅限制对 ArcGIS Server 的跨域请求。
在 ArcGIS Server 的 10.0 及先前版本中,通过重新启动服务,便可将对服务所引用的 GIS 资源所做的全部更改提供给客户端。在 10.1 及以后的版本中,您需要先覆盖该服务,然后客户端才可查看对 GIS 资源及其源数据所做的更改。
有关覆盖服务方法的说明,请参阅在 ArcGIS for Desktop 中覆盖服务。
ArcGIS Server 仅支持 TrueType 字体和 OpenType 字体。为使字体在 GIS 服务内成功使用,字体必须位于服务器上或嵌入 GIS 资源中。例如,大部分字体可嵌入地图文档,但有时可能会遇到图层使用的字体无法嵌入的情况。发布时,ArcGIS for Desktop 将显示一条警告消息 (20025),表示图层使用的字体无法嵌入且不在服务器上。
要解决此问题,可将字体直接安装在 ArcGIS Server 上。要执行此操作,请复制要使用的字体并将其置于 <ArcGIS Server 安装目录>/arcgis/server/fonts 目录中。确保运行 ArcGIS Server 的帐户对字体文件具有读取权限。为使更改生效,您需要重启 ArcGIS Server。
包含源 GIS 数据集的服务定义可能需要花费很长时间进行发布,因为数据必须传递到服务器。然而,在 Internet Explorer 或 Firefox Web 浏览器中运行管理器时,将无法发布大小超过 2 GB 的服务定义,这是已知的局限性。在 Google Chrome 中运行管理器时可以发布超过 2 GB 的服务定义。
如果不能确定服务定义是否超过 2 GB,则应在其创建后立即在 中检查它的属性。如果没有更改默认过渡位置,则服务定义将位于C:\Users\<用户名>\AppData\Local\ESRI\Desktop<版本号>\StagingFolder。
如果 ArcMap 会话在布局视图中运行,则将地图作为服务共享的选项不可用。切换至数据视图就可以将地图作为服务进行发布。请参阅在数据视图和布局视图中显示地图。
如果 GIS 资源引用的数据位于 Samba 目录中,则在发布时可能会在 ArcGIS for Desktop 中收到以下错误消息:
打包成功,但发布失败。错误 001369:创建服务失败。
机会锁或 oplocks(这是 Windows 文件锁定功能)可能会导致发生这种问题。在 Samba 目录中启用 oplocks 时,Windows 计算机允许在本地缓存文件。通常,此计算机是用于发布服务的计算机。如果第二台计算机需要访问数据,则必须在将文件同步回第二台计算机之前收到 Windows 计算机的 oplocks 中断。通常,此计算机是要将服务发布到的计算机。如果 Windows 计算机在发布过程中收到中断,则后续数据同步可能会导致发布失败。
要解决此问题,需要为配置的每个 Samba 目录禁用 oplocks。为此,请执行以下步骤:
- 在托管 Samba 的计算机上,打开 smb.conf。
- 对于配置为通过 Samba 访问的每个目录,添加以下属性:
[folder] ... oplocks = false level2 oplocks = false ...
- 保存 smb.conf。
- 运行 testparm 命令验证 Samba 配置文件中存在这些属性。
- 重新启动 Samba (SMB) 和 NetBIOS (NMB) 服务。
有关 oplocks 的详细信息,请参阅 Samba 配置文档中的文件和记录锁定。
要了解如何配置数据库及地理数据库数据所需的正确权限,请参阅使数据可供 ArcGIS Server 访问。
创建地图缓存所需的时间取决于所选的比例级别,用于生成缓存的服务器资源的数量,以及所选择的设置(切片格式、存储格式等等)在“规划地图缓存”主题的预估缓存创建时间部分中,对这些因素进行了详细论述。