Linux 上搭建地图服务器
2018-01-20 本文已影响202人
小明与小明
Linux 上部署搭建地图服务器
实验环境
- Linux:CentOS7
- jdk-8u152-linux-x64
- geoserver-2.12.1
- apache-tomcat-8.5.24
- postgresql
- postgis
实验步骤
准备
创建一个app文件夹,把以后需要安装的东西全部放在app文件夹里面。主要是为了便于管理。
安装jdk
因为 Geoserver 需要使用的JDK版本为 Java8
- 上传jdk到linux文件app目录(自己创建的目录)下
解压缩包 tar -zxvf jdk-8u101-linux-x64.tar.gz
- 配置环境变量
vi /etc/profile
在文件的在最后加入
#for java
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_152
export PATH=$JAVA_HOME/bin:$PATH
安装tomcat
- 拷贝安装包到服务上
- 解压 tar-zxvf /home/hadoop/apache-tomcat-8.5.5.tar.gz
- 启动Tomcat
cd /home/hadoop/tomcat-8.5.5/bin
./startup.sh
- 停止tomcat
./shutdown.sh
- 加入自启动
vi /etc/rc.d/rc.local
输入
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_152
/home/hadoop/apache-tomcat-8.5.5/bin/startup.sh start
保存退出,
- 执行
chmod +x /etc/rc.d/rc.local
部署Geoserver
- 解压geoserver-2.10-beta-war.zip压缩包。
- 将获取的war包放入apache-tomcat-8.5.5/webapps路径下
- 在 tomcat/bin/Catalina.sh文件中
找到
-Djava.security.manager \
-Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\""\
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\""\
在每段后追加一句(一共有两段)
-Djava.awt.headless=true \
该步骤解决使用中无法选择数据路径的问题。
- 修改tomcat/bin/catalina.sh增加启动参数
CATALINA_OPTS="-Djava.awt.headless=true"
- 进行tomcat跨域配置
由于跨域会导致地图无法正常显示,需要进行跨域配置。
找到apache-tomact-8.5.5/webapps/geoserver/WEB-INF/下的web.xml
加入如下代码:
<!-- corsfilter config-->
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.headers</param-name>
<param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>
</init-param>
<init-param>
<param-name>cors.exposed.headers</param-name>
<param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value>
</init-param>
<init-param>
<param-name>cors.support.credentials</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cors.preflight.maxage</param-name>
<param-value>10</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
实验结果
保存,重启tomcat。如果能成功访问下面的网站,则成功的配置好了GeoServer。
localhost:8080/geoserver/web
配置成功
安装postgresql
1.官网获取yum源
2.根据官网介绍。安装postgresql
yum install postgresql96 postgresql96-server -y
- 初始化数据库
/usr/pgsql-9.6/bin/postgresql96-setup initdb
- 设置开机自启动
systemctl enable postgresql-9.6
- 启动服务
systemctl start postgresql-9.6
安装完成
安装postgis
Centos7 上部署搭建地图服务器
Centos7 上安装Postgresql和postgis
Centos7 上部署GeoServer
配置成功🍺🎉🎉