本主题中列出了您在使用 ArcGIS Server 时可能遇到的问题并提供了可能的解决方案建议。 如果未能在本主题中找到您要查找的问题,也可以访问 Esri 技术支持中心网站以搜索相关文章。
安装
管理
- 如果对主站点管理员密码重置 (passwordreset.sh) 脚本的安全性很担心。 应该怎样做?
- ArcGIS Server 是否可以在断开网络连接的情况下运行?
- 我正尝试在通过 ArcGIS Web Adaptor 连接到 ArcGIS Desktop 中的服务器,但是连接失败。
- 是否可以用安全的方式对 ArcGIS Server 站点中的 GIS 服务器计算机进行重命名?
- 如何设置对 ArcGIS Server 在运行时创建的文件的访问权限?
- 我已在 ArcGIS Server 站点中禁用基于 HTTP 的通信,现在使用所安装的快捷方式无法访问帮助。
- 如何在我的 ArcGIS Server 站点中查看计算机的当前硬件规格?
- 当尝试将数据库注册到 ArcGIS Server 时,收到错误消息数据库连接无效或数据项无法访问。
- ArcGIS Web Adaptor 无法识别不可用的计算机或之前添加到站点的新计算机。
- 在 ArcGIS Server 10.0 和之前版本中使用过的服务器配置文件在哪里?
- 如何更改 ArcGIS Server 使用的临时目录?
- 我可以将一个 ArcGIS Web Adaptor 配置为同时与 ArcGIS Server 和 Portal for ArcGIS 一起使用吗?
Manager
服务
- 我想取消当前在我的地理处理服务上运行的异步作业。
- 为什么无法使用 ArcGIS Server Manager 将 MXD、MSD、地址定位器和其他 GIS 资源发布到 ArcGIS Server 站点?
- 创建 ArcGIS Server 站点后,我注意到服务显示在 Manager 的服务列表中。 这些是什么? 为什么它们中有些无法删除?
- 将一个服务添加到 Web 应用程序,但是该服务似乎不可用。
- 更新地图文档后停止并再次启动服务,但是未在地图服务中看到更新。
- 如何安装用于 ArcGIS Server 的自定义字体?
- 尝试在 ArcGIS Server Manager 中发布服务定义时,浏览器崩溃。
- 当在 ArcMap 中尝试发布地图服务时,单击文件 > 共享为,但服务选项不可用(灰显)。
- 当尝试发布引用 Windows 文件共享中的数据的 GIS 资源时,在 ArcGIS Desktop 中收到错误消息。
- 当尝试发布引用 Samba 目录中数据的 GIS 资源时,在 ArcGIS Desktop 中收到错误消息。
- 可使用 ArcGIS Server 发布哪些符合 OGC 规范的服务?
- 在创建包含数据库或地理数据库中的图层的服务时遇到问题。
- 开始创建地图缓存,且该过程用去很长时间。 此创建过程将于何时结束?
- 最近对地图缓存进行了更新。 客户端应用程序会自动识别出更新后的可用切片吗?
- 我收到一条错误消息,显示地理处理服务的发布受到限制。 如何解决这一问题?
- 用户向 ArcGIS Enterprise 10.6 或较早版本门户发布场景图层时,会看到以下消息:发布工具无法连接到切片缓存数据存储。 这可能是由于影响托管服务器与切片缓存数据存储的通信方式的安全设置。。 相同的消息也会出现在托管服务器的 ArcGIS Server 日志中。 如何解决这一问题?
安装
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 命令。
如果收到许可已过期的消息,请联系 Esri 客户服务中心以获取新的许可,然后通过 ArcGIS 软件授权向导对 ArcGIS Server 重新授权。
注:
许可信息也存储在 ArcGIS Data Store 关系数据存储中;因此,如果此 ArcGIS Server 站点将充当 ArcGIS Enterprise 门户的托管服务器,还必须更新关系数据存储中的许可。 为此,需在安装有主关系 ArcGIS Data Store 的计算机上运行 updatelicense 实用程序。
管理
如果处于高度安全的环境下,应该限制对配置存储的文件权限并禁用主站点管理员帐户。 执行这两项任务可确保主站点管理员帐户密码重置脚本不会对站点的安全性产生影响。
有关详细信息,请参阅配置安全环境的最佳做法。
如果服务器管理员将 Web Adaptor 配置为阻止服务器的管理访问权限,则不能使用管理连接或发布者连接通过 Web Adaptor URL 在 ArcGIS Desktop 中连接到服务器。 或者,也可以使用 URL 格式 https://gisserver.domain.com:6443/arcgis 在 ArcGIS Desktop 中直接连接到 GIS 服务器。 有关详细信息,请参阅从 ArcGIS Desktop 连接到 ArcGIS Server。
是的。 ArcGIS Server 会自动检测计算机名的更改并将站点重新配置为使用新的名称。 在使用操作系统工具重命名计算机后,服务器日志中可能会显示以下消息:
ArcGIS Server 检测到服务器计算机 [旧计算机名] 已更改为 [新计算机名]。 ArcGIS Server 将自动更新为使用新主机名。
根据站点部署情况,您可能需要执行一些其他步骤,以确保将站点正确配置为使用新计算机名:
- 如果已为站点启用 HTTPS,且证书使用的是先前的计算机名,则需生成新的证书并配置站点以对其进行使用。 有关完整的说明,请参阅对 ArcGIS Server 启用 HTTPS。
- 如果已将 ArcGIS Web Adaptor 配置为使用先前的计算机名,则需通过使用已更新计算机名的新 URL 对其进行配置。 有关详细说明,请参阅安装后配置 ArcGIS 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 Server 的帐户组成员的用户。
修改访问权限后,需立即重新启动 ArcGIS Server 才能使更改生效。 请注意,将 umask 设置修改为 077 以外的值之后,即改变了 ArcGIS Server 在运行时创建的所有文件的访问权限。
ArcGIS Server Administrator Directory 中的硬件配置资源将显示 ArcGIS Server 站点中指定计算机的硬件信息,提供 CPU 和操作系统的规格、系统内存量以及物理和逻辑处理器数量。 当该资源检测到计算机配置发生变化时以及每次重新启动计算机时,它会更新信息。
如果在服务器计算机上找不到数据库客户端软件或库,可能会出现这些错误。 ArcGIS Server 站点中的每台计算机必须安装 64 位版本的数据库客户端软件,才能允许 ArcGIS Server 访问数据库。 必须安装这些客户端才能在 ArcGIS Server 中注册数据库。 有关详细信息,请参阅数据库客户端。
安装客户端软件后,重新启动 ArcGIS Server。
默认情况下,ArcGIS Web Adaptor 每分钟都会检查站点中是否存在新计算机或不可用计算机。 如果自添加、移除或禁用计算机后等待已超过一分钟,Web Adaptor 仍无法识别这些变化,则可能是因为您更改了最初将 Web Adaptor 注册到站点的用户的属性。
例如,如果已禁用将 ArcGIS Web Adaptor 注册到站点时所用的帐户、更改了密码或已将角色类型降级为不具有管理权限的角色,则 Web Adaptor 将无法检查站点的新计算机或不可用计算机的状态。 要解决此问题,需要重新配置 Web Adaptor。 有关详细说明,请参阅安装后配置 ArcGIS Web Adaptor。
从 ArcGIS Server 10.1 版开始,在 ArcGIS Server 10.0 和之前版本中使用的纯文本服务器配置文件将不再属于服务器架构。 您可能会在配置存储中找到类似的文件,但这些文件不适合进行手动编辑,如果您选择直接对其进行修改,则可能会严重破坏服务器的稳定性。 相反,您应该使用 ArcGIS Server Manager 来调整服务器属性。 ArcGIS Server 还提供可用于安全进行服务器配置脚本更改的 ArcGIS REST API。 要开始此过程,请参阅登录 Manager 和编写 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 Server.
# -----------------------------------------------------------------------
#SERVER_TEMP_DIR=<Location_to_temp_directory>
要使设置在 init_user_param.sh 脚本中生效,需要重新启动 ArcGIS Server。 要重新启动,请在站点中的每台计算机上运行 startserver.sh 脚本。
Manager
要登录 Manager,必须提供授予管理员或发布者对 ArcGIS Server 站点的相应权限的用户名和密码。 用户名和密码区分大小写。 必须输入正确的大小写才能登录到 Manager。 与服务器管理员沟通以确定应使用的用户名和密码。 如果您是管理员,请提供您在创建站点时所指定的用户名和密码。 有关详细信息,请参阅登录 Manager。
从版本 10.1 开始,移除了使用 Manager 检索 Bing 地图密钥的功能。 您可以访问 My Esri 网站或联系您的 Esri 客户服务代表索要您的密钥。
服务
在 10.6.1 中,服务器管理员可通过一套资源和操作查找、监视和干预地理处理服务正在运行的异步作业。 可通过访问 ArcGIS Server Administrator Directory(URL 格式 https://server:port/arcgis/admin/services/[<folder>]/<serviceName.serviceType>)中的服务页面找到每个异步作业。
在作业页面中,可查询满足特定条件的作业,清除当前状态为 NEW、SUBMITTED 或 WAITING 的所有作业队列,以及查看服务的当前作业的相关统计数据。
在特定作业的页面中,可取消当前状态为 SUBMITTED 或 EXECUTING 的作业(在系统中保留作业信息),或删除作业(不管当前状态为何),此举将从服务中移除该作业的所有追踪信息并取消该作业(如果适用)。
需要对尝试向 ArcGIS Server 发布的 GIS 资源执行严格的分析过程,才能确保它们可以在 Web 上公开。 由于 GIS 资源需要先进行分析才可以发布,ArcGIS Desktop 现为用于将服务发布到 ArcGIS Server 的主要工具。
然而,如果在云环境或高度安全的环境下,可以创建服务定义文件,这种文件可以使用 Manager 发布到 ArcGIS Server。 通过服务定义文件,您可以获取 GIS 资源和数据的快照并在之后将其以服务的形式发布到 ArcGIS Server。 任何 GIS 资源都可以在 ArcMap 中经过分析封装为服务定义文件。 一旦创建服务定义文件,您就可以在 Manager 中浏览至此文件并将其发布为服务。
有关详细信息,请参阅关于发布服务。
ArcGIS Server 安装具有多种预配置服务,可帮助您执行各种常见任务,例如:
- 缓存地图和影像服务(CachingTools、ReportingTools)
- 发布服务 (PublishingTools)
- 打印 web 地图 (PrintingTools)
- 执行几何计算 (Geometry)
- 预览 ArcGIS Server 的功能 (SampleWorldCities)
- 在客户端和 ArcGIS Server 之间同步数据 (SyncTools)
基本服务(如 CachingTools、PublishingTools 和 ReportingTools)在默认情况下处于启动状态,无法删除。 停止这些服务将会对 ArcGIS Server 的性能和功能产生不利影响。
不重要的服务(如 Geometry 和 PrintingTools)在默认情况下处于停止状态。 如果需要使用这些服务,可以在 Manager 或 ArcMap 中显式启动这些服务。 SampleWorldCities 地图服务在默认情况下处于启动状态,可随时删除。
请注意,仅在服务处于启动状态、且已请求执行任务时,才会消耗服务器资源。 有关详细信息,请参阅 ArcGIS Server 中包含的内容中的“预配置服务”部分。
如果 Web 应用程序引用的服务来自远程服务器(托管您的 Web 应用程序的服务器以外的服务器),托管您的 Web 应用程序的服务器应具有从远程服务器上访问该服务的权限。 通常,托管您的 Web 应用程序的服务器是随 ArcGIS Web Adaptor 一同安装的服务器,并且托管您的服务的服务器是 GIS 服务器。 如果这两个服务器位于不同的域中,出于安全考虑,不允许运行该 Web 应用程序的 Web 浏览器插件访问该服务。 要跨 Web 域访问服务,托管服务的 Web 服务器的根目录下必须放置一个客户端访问策略文件。
如果服务器管理员在 ArcGIS Server 站点上启用了安全性,此文件可能需要进行修改使其包含托管您的 Web 应用程序的服务器的域。 有关详细信息,请参阅限制对 ArcGIS Server 的跨域请求。
当对服务参考的 GIS 资源做出任何更改时,将需要覆盖该服务,客户端才能看见对 GIS 资源及其源数据做出的更改。
有关如何覆盖服务的说明,请参阅在 ArcMap 中覆盖服务或覆盖 Web 图层(在 ArcGIS Pro 帮助中)。
ArcGIS Server 仅支持 TrueType 字体和 OpenType 字体。 为使字体在 GIS 服务内成功使用,字体必须位于服务器上或嵌入 GIS 资源中。 例如,大部分字体可嵌入地图文档,但有时可能会遇到图层使用的字体无法嵌入的情况。 发布时,ArcGIS Desktop 将显示一条警告消息 (20025),表示图层使用的字体无法嵌入且不在服务器上。
要解决此问题,需要将字体直接安装在 ArcGIS Server 上。 要执行此操作,请复制要使用的字体并将其置于 <ArcGIS Server 安装目录>/arcgis/server/fonts 目录中。 确保运行 ArcGIS Server 的帐户对字体文件具有读取权限。 要使更改生效,需要重新启动 ArcGIS Server。
包含源 GIS 数据集的服务定义可能需要花费很长时间进行发布,因为数据必须传递到服务器。 然而,在 Internet Explorer 或 Firefox Web 浏览器中运行 Manager 时,将无法发布大小超过 2 GB 的服务定义,这是已知的局限性。 在 Google Chrome 中运行 Manager 时可以发布超过 2 GB 的服务定义。
如果不能确定服务定义是否超过 2 GB,则应在其创建后,立即检查它的属性。 如果没有更改默认过渡位置,则服务定义将位于 C:\Users\<用户名>\AppData\Local\ESRI\Desktop<版本号>\StagingFolder(在 Windows 计算机上)。
如果 ArcMap 会话在布局视图中运行,则将地图作为服务共享的选项不可用。 切换至数据视图就可以将地图作为服务进行发布。 请参阅在数据视图和布局视图中显示地图。
如果 GIS 资源引用的数据位于 Windows 文件共享中,则在发布时可能会在 ArcGIS Desktop 中收到以下错误消息:
打包成功,但发布失败。 错误 001369:创建服务失败。
机会锁或 oplocks(这是 Windows 文件锁定功能)可能会导致发生这种问题。 在指定文件共享中启用 oplocks 时,Windows 计算机允许在本地缓存文件。 通常,此计算机是用于发布服务的计算机。 如果第二台计算机需要访问数据,则必须在将文件同步回第二台计算机之前收到 Windows 计算机的 oplocks 中断。 通常,此计算机是要将服务发布到的计算机。 如果 Windows 计算机在发布过程中收到中断,则后续数据同步可能会导致发布失败。
有关机会锁的其他常见问题:
- 多机站点中的一台或多台计算机可启用配置存储和目录上的锁,以防其他计算机对其进行访问。
- 由于上述原因导致发布失败
- 在共享位置访问已注册数据时遇到问题
- 访问具有 oplocks 的位置中存储的已缓存切片时遇到问题
要解决这些问题,需要为已配置的每个文件共享禁用 oplocks。
有关 oplocks 的详细信息,请参阅 Microsoft 文档中的机会锁。
如果 GIS 资源引用的数据位于 Samba 目录中,则在发布时可能会在 ArcGIS 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 访问。
创建地图缓存所需的时间取决于所选的比例级别,用于生成缓存的服务器资源的数量,以及所选择的设置(切片格式、存储格式等等) 将在规划地图缓存中详细介绍这些因素。
此错误消息针对错误代码 001862:地理处理服务的发布仅限于管理员。 从 10.4 开始,仅管理员可以发布地理处理服务和部署服务扩展(SOE 或 SOI)。 该限制可由管理员进行更改。 有关详细信息,请参阅更改地理处理服务和服务扩展发布权限。
用户向 ArcGIS Enterprise 10.6 或较早版本门户发布场景图层时,会看到以下消息:发布工具无法连接到切片缓存数据存储。 这可能是由于影响托管服务器与切片缓存数据存储的通信方式的安全设置。。 相同的消息也会出现在托管服务器的 ArcGIS Server 日志中。 如何解决这一问题?
如果切片缓存数据存储配置为使用 SSLv3 加密,但托管服务器中的计算机未启用 SSLv3,则当用户从 ArcGIS Pro 或 ArcGIS Enterprise 门户发布场景图层时,将返回此消息。
要解决此问题,可在托管 ArcGIS Server 站点中的所有计算机上启用 SSLv3,或者如果保证安全性的做法不允许这样做,则需要 ArcGIS Data Store 管理员在切片缓存数据存储上禁用加密。 有关在切片缓存数据存储上禁用 SSLv3 加密的信息,请参阅 ArcGIS Data Store 帮助中的 ArcGIS Data Store 命令实用程序参考或 Portal for ArcGIS 管理员指南。
如果决定在托管服务器计算机上启用 SSLv3,请参阅 Linux 操作系统文档以获取如何执行此操作的相关说明。