赞
踩
网上关于ArcgisServer for Linux的安装和环境搭建教程较少,近期又有国产化信创环境的要求,于是亲自实践一下,中间有不少坑,记录一下便于大家学习。
系统:银河麒麟V10
ArcgisServer:ArcgisServer10.6 for Linux,安装在虚拟机1中
Postgre:Postgre9.6,安装在虚拟机2中
地图缓存文件夹,位于虚拟机2中
从官网下载银河麒麟V10镜像文件共享文件下载 - Kylin Distro (kylinos.cn)
本次使用Vmware来搭建虚拟机环境
添加镜像文件
开启虚拟机安装
设置安装目的地和密码
设置固定IP,重新连接网络
ssh连接虚拟机
上传至/opt目录
解压文件
- cd /opt
- tar -zxvf ArcGIS\ Server\ 10.6\ For\ Linux.tar.gz
- cd /opt/ArcGISServer/
- ./Setup
一路Enter
指定安装目录
/home/arcgis/server
选择ecp文件
/opt/server106_perm.ecp
安装完成
- systemctl start firewalld //未启动的话
-
- firewall-cmd --state
- firewall-cmd --add-port=6080/tcp --permanent
- firewall-cmd --add-port=6443/tcp --permanent
- firewall-cmd --reload
- firewall-cmd --list-all
没有root权限无法创建站点
chown -R root:root /home/arcgis
https://192.168.0.115:6443/arcgis/manager/
创建站点
完成
至于为什么需要地图缓存服务器,使用过大型GIS项目的同学可能深有感触,arcgiserver位于一台服务器,文件存储服务器又位于另一台,而地图缓存文件作为底图,数据量很大,所以需要一个固定的文件存储服务器,所以在发布服务的时候就涉及到文件夹注册的问题。
安装步骤同上
IP为192.168.0.116
新建data\arcgiscache目录,上传缓存地图包
解压tar文件
unzip map.zip
安装NFS是为了windows的Arcmap和虚拟机1能够访问
yum -y install nfs-utils
重启NFS
systemctl start nfs
查看NFS状态
systemctl status nfs
编辑/etc/exports文件
/data *(insecure,rw,no_root_squash,subtree_check)
进入目录,重加载文件
exportfs -r
在windows上打开控制面板,选择程序,打开或者关闭windows功能,找到nfs客户端后选中保存
右键电脑,映射网络驱动器,选择某一个磁盘,填入远程目录地址\\192.168.0.116\data,正常挂载,这时候远程服务器的共享文件夹就能够在windows端读取了。
进入虚拟机1
新建data文件夹
挂载虚拟机2的data目录
mount 192.168.0.116:/data /data
进入manager配置页面,注册文件夹
发布者文件为windows本机的挂载目录
主机名就是windows的主机名
服务器文件夹路径就是刚刚挂载的目录地址
注册cache目录
打开arcmap,连接文件夹,就是刚才windows挂载的远程目录,加载里面的缓存地图,连接ArcgisServer,发布同名服务
可以看到缓存页面已无法修改,说明已经获取到缓存数据
点击分析,没有注册数据的错误
点击发布,成功!
上传postgre9.6安装包至opt,解压
postgre安装包可到官网下载PostgreSQL: File Browser
tar -zxvf postgres.tar.gz
- groupadd postgres
- useradd -g postgres postgres
- passwd postgres
这个很重要,不然连接SDE会报错
- yum -y install gcc
- yum install readline-devel
- yum install zlib-devel
- yum install libxml2 libxml2-devel
切换至安装包目录
cd /opt/postgresql-9.6.8
指定安装目录,注意libxml
./configure --prefix=/usr/local/pgsql --with-libxml
- make
- make install
- mkdir /usr/local/pgsql/data
- chown postgres:postgres /usr/local/pgsql/data
- su postgres
- /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
- /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
- su – postgres
- cd /usr/local/pgsql/bin/
- ./pg_ctl start -D /usr/local/pgsql/data #启动
- ./pg_ctl restart -D /usr/local/pgsql/data #重启
- ./pg_ctl stop #关闭
- ps -ef | grep postgre #查看
- \q #退出pg命令行
启动服务若显示lock file "postmaster.pid" already exists,则在data目录将postmaster.pid删除
修改配置文件/usr/local/pgsql/data/postgresql.conf
- #listen_addresses='localhost'
- #将上面这行改成如下
- listen_addresses='*'
修改配置文件/pgsql/data/pg_hba.conf,添加
- # IPv4 local connections:
- host all all 0.0.0.0/0 trust
开放5432端口,若果已经关闭防火墙,就不需要
打开Navicat,新建连接,成功
导入postgres需要的arcgis扩展,将windows的Arcmap安装目录下的扩展包,比如
D:\Program Files (x86)\ArcGIS\Desktop10.6\DatabaseSupport\PostgreSQL\9.6\Linux64\ st_geometry.so
拷贝至
/usr/local/pgsql/lib
Root用户下添加755权限
chmod 755 /usr/local/pgsql/lib/st_geometry.so
切换postgres用户
重启pg
打开arcmap,创建企业级地理数据库
成功!
连接SDE
新建测试数据
成功!
发布服务,分析,没有报错
至此,ArcgisServer信创环境的搭建正式完成,可以满足日常地图缓存服务发布和依靠SDE数据库来发布服务的要求。需要安装包的同学可后台私信。
结束!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。