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
证书:
下载解压后有如下两个文件:
第一个是密钥文件,打开复制里面的内容,等下要用到;
第二个是包含公钥和私钥的SSL证书了,等下要上传到Server上。
1.8.2 上传证书
打开 ArcGIS Server 管理员目录(/arcgis/admin),
一路点击:machines → your_machine_name
→ sslcertificates →importExistingServerCertificate
在第一行粘贴之前复制的密钥keystorePass
,在第二行给正在配置的证书起一个别名(如gis_ssl),在第三行选择之前解压的pfx
证书文件。
点击Submit
,等待提交,基本就已经完成了。
此时返回上一个页面,就能看见你新建的证书信息了。
1.8.3 配置证书
返回之前的浏览计算机页面,点击 edit
在上方的 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 的版本需要严格对应(蚌埠住了),否则会出现各种各样的问题。
3. ArcMap 10.8上传服务至Server
3.0 参考
适用于 ArcGIS 10.8.x 以及 ArcGIS Pro 2.5、2.6 和 2.7 的 PostgreSQL 数据库要求—系统要求 | 文档
ArcGIS连接Postgres 数据库 – smileGIS – 博客园
ArcGIS Server 数据存储之注册文件夹及数据库_arcgis server 注册数据库-CSDN博客
3.1 ArcMap连接ArcGIS Server
在右侧目录点击添加ArcGIS服务器:
选择用途为发布GIS服务:
依次输入服务器URL、用户名和密码:
如果你是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 所在的服务器上:
ddl 文件在本地位于 ArcMap 的安装路径下:C:\Program Files (x86)\ArcGIS\Desktop10.8\DatabaseSupport\PostgreSQL\11\Linux64
要复制到地方位于 /usr/lib 下(这个不一定一样,取决于你操作系统的文件管理系统):/usr/lib/postgresql/11/lib
然后打开本地ArcMap工具箱,找到创建企业地理数据库:
按照如上设置:
数据库平台选择PostgreSQL(折腾过 SQL Server 和 Oracle,都太麻烦了),
实例(Instance)填写服务器的 IPv4 地址即可,
数据库管理员默认是 postgres,
管理员密码是你在安装 postgreSQL 时自己设置的,
将要创建的地理数据库的管理员为 sde,由 ArcGIS 决定的,无法更改,
地理数据库 sde 的密码你自己设置,不要忘记就行。
表空间名称可以不填,
授权文件好奇怪,感觉用啥都行,我用的当初安装激活时的 ecp 文件。
点击 OK,如果没有报错就说明创建成功了。
3.3 ArcMap连接PostgreSQL
在右侧目录点击添加数据库连接:
如上填写:
实例填写服务器的IPv4地址,
验证类型必须选择数据库验证,
数据库验证的用户名必须是之前创建企业地理数据库的默认用户 sde,
密码就是你之前自己设置的了,
数据库名称也是你之前自己设置的。
点击 OK,如果没有报错就说明连接成功了。
说实话,以下这两节(3.4,3.5)我自己都有些懵,
我不是特别明白配置这些信息的具体作用,
我仅仅是试到了 能实现我需要的功能的 配置方法,
但为什么其他方法不行,这个方法行,这些方法有什么区别?
我不是特别理解,网络上也找不出什么有用的东西,
我只能将我所理解的全部写下来……
** 3.4 ArcMap注册托管数据库
首先左键点击已连接好的服务器,确保绿色箭头指向的绿色方框内是个+
号,说明你的桌面ArcMap已经连接上了服务器。
接着右键点击服务器,点击 Server Properties,出现如下配置表:
先注册数据库,然而它又分为 普通注册 和 注册托管数据库,
在我多次试验下,发现 普通注册 后发布要素服务还是报错:要素服务需要一个已注册的数据库,
遂选择 注册托管数据库:
点击 Import,直接选择你之前在右侧目录连接过的 PostgreSQL 的配置文件:
点击 Select 后,再为你注册的托管数据库取个名称:
再点击 OK,如果没出现报错就已经注册成功了,配置表里会出现你新注册的数据库,并且其名称后面会有 [Managed],表示这是托管数据库
** 3.5 ArcMap注册数据文件夹
点击+
号
先选择发布者的文件夹路径(Publish folder path)(这个真不知道有什么用),
我选择的当初本地(Windows)安装 ArcMap 时,其要求指定的存放文档的路径。
接着为这个发布者文件夹取一个名称。
接下来选择服务方的文件夹路径(Server folder path),
红色方框里的千万不要勾选,
因为你的 ArcGIS Server 是安装在 Linux 上的,和你的 ArcMap 不在同一个机器上,
所以 not
Same as publisher folder path。
那我就随便指定一个 Linux 上的文件夹路径(提前建立好了),这里也可以看到路径是用/
分割的。
接下来点击 OK,没报错就说明大功告成了!
3.6 发布服务
略,网上一大把