Language Linux Tools

Linux使用ArcGIS Server


typora-copy-images-to: upload


简介

  • Linux 部署 ArcGIS Server 10.6

  • 安装 PostgreSQL 11.7

  • 本地(Windows)ArcMap 10.8 连接 Linux ArcGIS Server

  • 本地(Windows)连接 PostgreSQL 并创建企业地理数据库

  • 本地(Windows)ArcMap 发布服务至 Linux ArcGIS Server

版本

Linux Ubuntu20.04
ArcGIS Server 10.6
ArcGIS Desktop 10.8
PostgreSQL 11.7

1. 部署ArcGIS Server 10.6

1.0 参考

静默安装 ArcGIS Server—ArcGIS Enterprise | ArcGIS Enterprise 文档

Linux部署ArcGIS Server 10.7.1简要手册 – MeGusta – 博客园

使用现有的 CA 签名证书配置 ArcGIS Server—ArcGIS Server | ArcGIS Enterprise 文档

1.1 创建用户

ArcGIS Server不允许有root权限的账户进行安装,需要另外新建安装用户

sudo useradd -m arcgis
sudo passwd arcgis # 设置密码
# 输入密码:
# 确认密码:

# 创建ArcGIS Server安装目录: /home/arcgis/arcgis-server/10.6
sudo mkdir -p /home/arcgis/arcgis-server/10.6
sudo chown -R arcgis /home/arcgis

1.2 安装依赖

更新系统并安装必要的依赖包:

sudo apt update
sudo apt upgrade -y
sudo apt install -y openjdk-11-jdk

1.3 下载ArcGIS Server

从Esri官网下载ArcGIS Server 10.6的Linux安装包和ecp授权文件,并用XFTP等软件传输至目标目录:/home/arcgis/arcgis-server/10.6。

tips:这是付费软件而且官网界面的引导性简直一坨,建议自己找资源下载。

1.4 解压安装包

将下载的安装包解压到目标目录(/home/arcgis/arcgis-server/10.6):

cd /home/arcgis/arcgis-server/10.6
tar -xzvf ArcGIS_Server_Linux_106.tar.gz

1.5 运行安装程序

进入解压后的目录并运行安装脚本:

su arcgis # 必须切换用户
/home/arcgis/arcgis-server/10.6/ArcGISServer

# 路径和文件名不要有中文
./Setup -m silent -l yes -d /home/arcgis/arcgis-server/10.6 -a /home/arcgis/arcgis-server/10.6/ArcGIS_Server_10.8.ecp
# 其实这个授权文件我用的 10.8也可以

1.6 修改配置文件

然后你会发现安装前测试会有几项没有通过,按照其指出的错误进行操作

========================================================================
                  ArcGIS Server 10.6.1 Diagnostic Tool

                            Hostname: your_hostname
========================================================================

 DIAG000: Check for installation as root                       [PASSED]
 DIAG001: Check for 64-bit architecture                        [PASSED]
 DIAG002: Check OS version                                     [PASSED]
 DIAG003: Check hostname for invalid characters                [PASSED]
 DIAG024: Check /etc/hosts for hostname entry                  [FAILED]
 DIAG004: Check installed packages                             [PASSED]
 DIAG005: Check system limits                                  [FAILED]
 DIAG008: Check HTTP port                                      [PASSED]
 DIAG009: Check HTTPS port                                     [PASSED]
 DIAG010: Check Xvfb ports                                     [PASSED]

------------------------------------------------------------------------
There were 2 failure(s) and 0 warning(s) found:

Description:
xxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxx

1.6.1 设置 ArcGIS Server 完全限定域名(FQDN)

sudo vim /etc/hosts

# 首行添加:ip domain alias
10.100.100.10  gis.your_domain.com your_hostname
# 如果还没有dns解析,应该大概填:your_ip your_ip your_hostname

1.6.2 增加 arcgis 用户文件句柄及进程的软限制和硬限制

sudo vim /etc/security/limits.conf

# 在末尾添加,注意将 arcgis替换为实际安装 Server的用户名
arcgis soft nofile 65535
arcgis hard nofile 65535
arcgis soft nproc 25059
arcgis hard nproc 25059
# 可能需要先退出 arcgis用户再登录 才会有效

再进行安装应该就可以了,安装完成后可能需要你再用授权软件进行一次授权:

/home/arcgis/arcgis-server/10.6/arcgis/server/tools/authorizeSoftware -f /home/arcgis/arcgis-server/10.6/ArcGIS_Server_10.8.ecp

1.7 防火墙配置

sudo ufw allow 6080/tcp # http  访问 server
sudo ufw allow 6443/tcp # https 访问 server
sudo ufw reload

1.8 配置SSL

1.8.1 下载证书

去购买域名的服务商(如腾讯云、阿里云)申请pfx格式(ArcGIS Server是用Tomcat跑起来的)的免费SSL证书:

image.png

下载解压后有如下两个文件:

image.png

第一个是密钥文件,打开复制里面的内容,等下要用到;

第二个是包含公钥和私钥的SSL证书了,等下要上传到Server上。

1.8.2 上传证书

打开 ArcGIS Server 管理员目录(/arcgis/admin),

一路点击:machines → your_machine_name → sslcertificates →importExistingServerCertificate

image.png

image.png

image.png

image.png

image.png

在第一行粘贴之前复制的密钥keystorePass,在第二行给正在配置的证书起一个别名(如gis_ssl),在第三行选择之前解压的pfx证书文件。

点击Submit,等待提交,基本就已经完成了。

此时返回上一个页面,就能看见你新建的证书信息了。

image.png

1.8.3 配置证书

返回之前的浏览计算机页面,点击 edit

image.png

image.png

在上方的 Web server SSL Certificate 输入你为证书起的别名(alias),再点击 Save Edits

等待 ArcGIS Server 保存并重启,至此,大功告成。

1.9 使用Web Adaptor访问

在本地(Windows)打开浏览器,输入以下网址访问你在 Linux 上部署的 ArcGIS Server 对外网提供的管理界面:

http://10.100.100.10:6080/arcgis/admin      # 无域名 + http
http://gis.example.com:6080/arcgis/admin    # 有域名 + http
https://10.100.100.10:6443/arcgis/admin     # 无域名 + https
https://gis.example.com:6443/arcgis/admin   # 有域名 + https

第一次登录会让你设置 进入管理页面的 用户名和密码,设置完毕后就算全部部署完毕了。

(这里没图,当时忘记截图了,也懒得重装一次了)

2. 安装PostgreSQL 11.7

参考之前写的一篇文章:Linux入手

值得注意的是,ArcMap(是ArcGIS全家桶里的一个)和 PostgreSQL 的版本需要严格对应(蚌埠住了),否则会出现各种各样的问题。

image.png

3. ArcMap 10.8上传服务至Server

3.0 参考

适用于 ArcGIS 10.8.x 以及 ArcGIS Pro 2.5、2.6 和 2.7 的 PostgreSQL 数据库要求—系统要求 | 文档

ArcGIS 帮助 10.1

ArcGIS连接Postgres 数据库 – smileGIS – 博客园

ArcGIS Server 数据存储之注册文件夹及数据库_arcgis server 注册数据库-CSDN博客

3.1 ArcMap连接ArcGIS Server

在右侧目录点击添加ArcGIS服务器:

image.png

选择用途为发布GIS服务:

image.png

依次输入服务器URL、用户名和密码:

image.png

如果你是http就用6080端口,https(已配置SSL)就用6443。

用户名和密码就是安装ArcGIS Server后,第一次通过ArcGIS Web Adaptor(http://10.100.100.10:6080/arcgis/manager)访问站点,要求设置的管理员用户和密码。

输入完毕后点击 Finish 即可,如果没有报错就说明已经连接上了服务器。

3.2 ArcMap创建企业级地理数据库

在创建之前,先完成很重要的一件事,

将在本机(Windows)安装的 ArcMap 的附带的 PostgreSQL 依赖库文件(st_geometry.so)上传到 ArcGIS Server 所在的服务器上:

image.png

ddl 文件在本地位于 ArcMap 的安装路径下:C:\Program Files (x86)\ArcGIS\Desktop10.8\DatabaseSupport\PostgreSQL\11\Linux64

要复制到地方位于 /usr/lib 下(这个不一定一样,取决于你操作系统的文件管理系统):/usr/lib/postgresql/11/lib

然后打开本地ArcMap工具箱,找到创建企业地理数据库:

image.png

image.png

按照如上设置:

数据库平台选择PostgreSQL(折腾过 SQL Server 和 Oracle,都太麻烦了),

实例(Instance)填写服务器的 IPv4 地址即可,

数据库管理员默认是 postgres,

管理员密码是你在安装 postgreSQL 时自己设置的,

将要创建的地理数据库的管理员为 sde,由 ArcGIS 决定的,无法更改,

地理数据库 sde 的密码你自己设置,不要忘记就行。

表空间名称可以不填,

授权文件好奇怪,感觉用啥都行,我用的当初安装激活时的 ecp 文件。

点击 OK,如果没有报错就说明创建成功了。

3.3 ArcMap连接PostgreSQL

在右侧目录点击添加数据库连接:

image.png

image.png

如上填写:

实例填写服务器的IPv4地址,

验证类型必须选择数据库验证,

数据库验证的用户名必须是之前创建企业地理数据库的默认用户 sde

密码就是你之前自己设置的了,

数据库名称也是你之前自己设置的。

点击 OK,如果没有报错就说明连接成功了。


说实话,以下这两节(3.4,3.5)我自己都有些懵,
我不是特别明白配置这些信息的具体作用,
我仅仅是试到了 能实现我需要的功能的 配置方法,
但为什么其他方法不行,这个方法行,这些方法有什么区别?
我不是特别理解,网络上也找不出什么有用的东西,
我只能将我所理解的全部写下来……


** 3.4 ArcMap注册托管数据库

image.png

首先左键点击已连接好的服务器,确保绿色箭头指向的绿色方框内是个+号,说明你的桌面ArcMap已经连接上了服务器。

接着右键点击服务器,点击 Server Properties,出现如下配置表:

image.png

先注册数据库,然而它又分为 普通注册注册托管数据库

在我多次试验下,发现 普通注册 后发布要素服务还是报错:要素服务需要一个已注册的数据库,

遂选择 注册托管数据库

image.png

点击 Import,直接选择你之前在右侧目录连接过的 PostgreSQL 的配置文件:

image.png

点击 Select 后,再为你注册的托管数据库取个名称:

image.png

再点击 OK,如果没出现报错就已经注册成功了,配置表里会出现你新注册的数据库,并且其名称后面会有 [Managed],表示这是托管数据库

image.png

image.png

** 3.5 ArcMap注册数据文件夹

点击+

image.png

先选择发布者的文件夹路径(Publish folder path)(这个真不知道有什么用),

我选择的当初本地(Windows)安装 ArcMap 时,其要求指定的存放文档的路径。

接着为这个发布者文件夹取一个名称。

接下来选择服务方的文件夹路径(Server folder path),

红色方框里的千万不要勾选,

因为你的 ArcGIS Server 是安装在 Linux 上的,和你的 ArcMap 不在同一个机器上,

所以 not Same as publisher folder path

那我就随便指定一个 Linux 上的文件夹路径(提前建立好了),这里也可以看到路径是用/分割的。

image.png

接下来点击 OK,没报错就说明大功告成了!

3.6 发布服务

略,网上一大把

3.6.1 发布要素服务

3.6.2 发布栅格服务

3.6.3 发布影像服务

你可能也会喜欢...