ArcGIS 10.3 for Server部署策略
注:以下部署策略整理自官方文档,主要是为方便以后查阅各种部署方案。
1、单机部署与反向代理
1.1、反向代理
反向代理可采用ArcGIS Web Adaptor或者第三方的反向代理服务器。
1.2、部署架构
1.3、面向公网的安全架构
如果地图服务需要面向公网发布,建议使用反向代理隔离ArcGIS for Server来增加GIS服务器的安全性。通常情况下,在各访问层之间还会增加企业级防火墙,架构如下:
1.4、第三方反向代理配置
以Apache为例,反向代理使用的是mod_proxy和mod_proxy_http模块,需先配置这两个模块,在httpd.conf中开启即可:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
然后在httpd.conf中增加:
ProxyPreserveHost On
ProxyPass /arcgis http://gisserver.domain.com:6080/arcgis
ProxyPassReverse /arcgis http://gisserver.domain.com:6080/arcgis
如果需要开放管理功能,继续在http.d中增加相应配置即可。
如果更改了默认的网站名arcgis,还需要做额外的设置:
(1)登录server Admin站点;
(2)打开system->properties->update,在properties中输入新配置的网站名:
{
"WebContextURL": "http://gisserver.domain.com/mygis"
}
(3)更新完成,重启Server的服务即可。
2、单机部署与主-备模式
ArcGIS for Server支持主备模式,但需要借助第三方的负载均衡软件或硬件。
2.1、主-备架构
主备模式下,两台GIS服务器需要完全一样的环境,包括:独立的服务目录、配置存储等。如果使用的是文件型的数据,不建议使用网络共享,建议在每台GIS服务器上保留单独的一份,或者使用数据库、存储设备。
主备模式下,需要保证两台GIS服务器上的服务同步。通常的方法有:
(1)使用自定义的Admin脚本实现;
(2)虚拟化技术。
3、单机部署与主-主模式
ArcGIS for Server支持主主模式,但需要借助第三方的负载均衡软件或硬件。
3.1、主-主架构
主主模式下,两台GIS服务器需要一样的环境,包括:独立的服务目录(cache、jobs、system)、配置存储等。但是output服务目录必须共享给两台GIS服务器。
如果使用的是文件型的数据,不建议使用网络共享,建议在每台GIS服务器上保留单独的一份,或者使用数据库、存储设备。
主主模式下,需要保证两台GIS服务器上的服务同步。通常的方法有:
(1)使用自定义的Admin脚本实现;
(2)虚拟化技术。
4、集群部署与Web Adaptor
使用Web Adaptor可实现灵活的集群部署。一般架构如下:
集群部署中的各节点GIS服务器,需要使用相同的安装帐号、共享的配置存储和服务目录、共享的数据或本地数据副本。
为防止Web Adaptor单点故障,也可使用第三方实现Web Adaptor集群。
为合理利用资源,还可以在Server中建立不同集群组。如在集群组A中发布地图服务,在集群组B中发布GP服务。
5、集群部署与第三方负载均衡
ArcGIS for Server支持使用第三方的负载均衡软件或者硬件实现集群部署。
ArcGIS 10.3 for Server部署策略的更多相关文章
- ArcGIS 10.2 for Server 集群部署
ArcGIS 10.2 for Server 具有很灵活的体系结构,而 ArcGIS 10.2 forServer site 可以包含一台或多台安装 GIS Server 的机器,这些参与ArcGI ...
- 【ArcGIS 10.2新特性】ArcGIS 10.2 for Server常见问题
1.ArcGIS 10.2有无测试版程序? 10.2没有正式的测试版程序,但是我们计划发布两个早期cuts软件给国际经销商.选中的用户和合作伙伴. 2.微软Azure云的ArcGIS forServe ...
- ArcGIS 10.1 for Server 扩展开发(SOE)
原文连接:http://blog.csdn.net/arcgisserver_book/article/details/7869368 第一章为什么使用SOE 在ArcGIS 10.1中ArcGIS ...
- ArcGIS 10.3 for Server 在windows下的安装教程
原文:ArcGIS 10.3 for Server 在windows下的安装教程 以下是10.2的教程,10.3同样适用. 许可文件: ArcGIS For Server10.3许可文件 - 下载频道 ...
- 【ArcGIS 10.2新特性】ArcGIS 10.2 for Server新特性
ArcGIS forServer相关的很多重大消息,如与Portal for ArcGIS进行了集成,提供对实时数据支持.离线地图使用. 1.与Portal for ArcGIS集成 用户能够配置Po ...
- ArcGIS 10.3 for Server新特性介绍
ArcGIS10.3的正式版立即在美国Esri全球用户大会推出.中国的正式发行时间预计在Esri中国的用户大会.以下就将用户比較关心的ArcGIS 10.3 for Server的新特性给大家进行简单 ...
- ArcGIS 10.1 for Server安装教程系列—— Linux下的单机安装
http://www.oschina.net/question/565065_81231 因为Linux具有稳定,功能强大等特性,因此常常被用来做为企业内部的服务器,我们的很多用户也是将Ar ...
- 【转】ArcGIS 10.1 for Server 架构
前一段时间在博客中公布了我们的计划,我们采用博客的形式将对ArcGIS10.1 for Server进行全面介绍.但这种形式有一定的遗憾:缺少互动的空间,所以我们希望广大爱好者能将自己感兴趣的话题在博 ...
- ArcGIS 10.3 安装及破解
系统环境:win7 64位操作系统. 一.ArcGIS 10.3包简介 ArcGIS 10.3 下载包含 1. ArcGIS for Desktop ArcGIS for Desktop简介: Ar ...
随机推荐
- appium+android各配置参数获取'platformName'、'platformVersion'、appActivity、deviceName、webdriver.Remote
图中1的获取--'platformName'.'platformVersion' 点击appium右上角的运行按钮,可通过上面查看platformName 和 platformVersion 平台版本 ...
- Linux Shell脚本编程基础
1. 脚本是一个包含一系列命令序列的文本文件,当运行这个脚本文件时,文件中包含的命令序列将得到执行. 2. 脚本主要由两部分组成:脚本解释器和命令序列 注:#!/bin/bash 指明脚本解释器为Ba ...
- Jmeter实例
我们在性能测试过程中,首先应该去设计测试场景,模拟真实业务发生的情境,然后针对这些场景去设计测试脚本.为了暴露出性能问题,要尽可能的去模拟被测对象可能存在瓶颈的测试场景. 我在本地部署了一个项目,可以 ...
- 学习python 3 入门知识
1.安装 http://www.runoob.com/python3/python3-install.html https://www.python.org/ 2.使用 工具一:IDLE IDLE 是 ...
- 通过overflow: scroll;来实现部分区域的滚动
在移动端中,我们希望元素的滚动,可以通过一些插件的使用来实现滚动,当然也可以自己来实现. 比如:对于某一个区域,我们可以限制好高度之后,设定:overflow-y: scroll; 这样,就可以实现滚 ...
- JUnit快速入门
一.一个简单的Junit测试流程: 1.在项目中导入junit-4.7.jar包, 方法:右击项目,选择Build Path->Configure Build Path->Librarie ...
- iOS 系统架构及常用框架(iOS的系统架构分为四个层次)
1.iOS基于UNIX系统,因此从系统的稳定性上来说它要比其他操作系统的产品好很多 2.iOS的系统架构分为四层,由上到下一次为:可触摸层(Cocoa Touch layer).媒体层(Media l ...
- 转 关于shell中if 语法结构的广泛误解
转自 ttp://blog.csdn.net/security134/article/details/6742156 最近学习SHELL编程 这篇文章很好很重要.有些东西不能想当然.同时不是表面看起来 ...
- 【javascript/css】关于鼠标事件onmousexxx和css伪类hover
在运用鼠标移入移出事件时,一般有两种做法,一种是DOM事件的"onmouseover"和"onmouseout",还有一种是css的伪类":hover ...
- Java入门系列-15-封装
为什么要封装 Student stu=new Student(); stu.age=-10; 上面的代码中 age 属性被随意访问,容易产生不合理的赋值 什么是封装 封装:将类的某些信息隐藏在内部,不 ...