CentOS7安装GeoServer

GeoServerOpenGIS Web服务器规范的J2EE实现,利用GeoServer可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过GeoServer可以比较容易的在用户之间迅速共享空间地理信息。GeoServer是社区开源项目,可以直接通过社区网站下载。

下载地址: http://geoserver.org/download/
用户手册: http://docs.geoserver.org/sta...

  1. 选择稳定版,目前版本2.13.2。
  2. 选择Platform Independent Binary
  3. GeoServer需要Java8环境。Oracle JRE是首选,但OpenJDK已经充分发挥作用。
  4. 建议的位置将是/usr/share/geoserver
  5. 添加环境变量export GEOSERVER_HOME=/usr/share/geoserver

依赖环境

GeoServer需要Java8环境。Oracle JRE是首选,但OpenJDK已经充分发挥作用。

下载

  1. 选择稳定版,目前版本2.13.2。
  2. 选择Platform Independent Binary
  3. 通过http://sourceforge.net下载发型包,要用浏览器进行下载。
  4. 下载后上传到服务器的/tmp目录。

解压到指定目录

unzip /tmp/geoserver-2.13.2-bin.zip -d /tmp
mv /tmp/geoserver-2.13.2 /usr/share/geoserver

添加环境变量

vim /etc/profile

# 追加
export GEOSERVER_HOME=/usr/share/geoserver

# 重新加载/etc/profile文件
source /etc/profile

用root用户启动

# 授权
chown -R root:root /usr/share/geoserver

配置数据目录

定义环境变量GEOSERVER_DATA_DIR

改造启动脚本

如果不改造脚本,无法通过systemctl来启动。

vim /usr/share/geoserver/bin/startup.sh

# 在最上面引入环境变量
source /etc/profile

# 最后执行改为nohup,并将日志输入到 var/log/geoserver.log
nohup "$_RUNJAVA" $JAVA_OPTS $MARLIN_ENABLER -DGEOSERVER_DATA_DIR="$GEOSERVER_DATA_DIR" -Djava.awt.headless=true -DSTOP.PORT=8079 -DSTOP.KEY=geoserver -jar start.jar 1>/dev/null 2>/var/log/geoserver.log &

修改停止脚本

vim /usr/share/geoserver/bin/shutdown.sh

# 在最上面引入环境变量
source /etc/profile

创建服务

vim /lib/systemd/system/geoserver.service  

[Unit]
Description=geoserver service
After=network.target

[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/usr/share/geoserver/bin/startup.sh
ExecReload=
ExecStop=/usr/share/geoserver/bin/shutdown.sh
Restart=on-abort

[Install]
WantedBy=multi-user.target

浏览

http://localhost:8080/geoserver

用户名: admin
密 码: geoserver

修改密码

  1. 左侧导航,Security -- Users, Groups, Roles
  2. 弹出的页面中点击Users/Groups标签页。

数据库

将下载的jar和相应的jdbc驱动,复制到/usr/share/geoserver/webapps/geoserver/WEB-INF/lib下。
http://docs.geoserver.org/lat...
http://docs.geoserver.org/lat...
http://docs.geoserver.org/lat...

# geometry元数据表

CREATE TABLE GEOMETRY_COLUMNS(
   F_TABLE_SCHEMA VARCHAR(30) NOT NULL,
   F_TABLE_NAME VARCHAR(30) NOT NULL,
   F_GEOMETRY_COLUMN VARCHAR(30) NOT NULL,
   COORD_DIMENSION INTEGER,
   SRID INTEGER NOT NULL,
   TYPE VARCHAR(30) NOT NULL,
   UNIQUE(F_TABLE_SCHEMA, F_TABLE_NAME, F_GEOMETRY_COLUMN),
   CHECK(TYPE IN ('POINT','LINE', 'POLYGON', 'COLLECTION', 'MULTIPOINT', 'MULTILINE', 'MULTIPOLYGON', 'GEOMETRY') ));

bluesbruce
215 声望17 粉丝