0
点赞
收藏
分享

微信扫一扫

银河麒麟V10 SP3下安装部署GeoServer地图服务

一、环境

JDK:Java1.8.0_361

TomcT:Apache Tomcat/9.0.33

GeoServer:geoserver-2.11.0

二、安装部署

1.确保在系统上安装了Java Runtime Environment(JRE)。GeoServer需要Java 8或Java 11环境,可从OpenJDK,AdoptOpenJDK获得或由您的OS发行版提供。

[root@localhost ~]# yum install java-1.8.0-openjdk  # 输入y

银河麒麟V10 SP3下安装部署GeoServer地图服务_java

 

银河麒麟V10 SP3下安装部署GeoServer地图服务_java_02

[root@localhost ~]# java -version
java version "1.8.0_361"
Java(TM) SE Runtime Environment (build 1.8.0_361-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.361-b09, mixed mode

银河麒麟V10 SP3下安装部署GeoServer地图服务_tomcat_03

2、确保安装了Tomcat并可以访问

我的安装路径是:/opt/tomcat/apache-tomcat-9.0.33

访问状态如下:

银河麒麟V10 SP3下安装部署GeoServer地图服务_java_04

 

3、下载GeoServer并安装

geoserver-2.11.0-war.zip

wget http://sourceforge.net/projects/geoserver/files/GeoServer/2.11.0/geoserver-2.11.0-war.zip  #由于时间过长最好提前下载好,

银河麒麟V10 SP3下安装部署GeoServer地图服务_java_05

3、解压geoserver-2.11.0-war.zip后得到war包放入/opt/tomcat/apache-tomcat-9.0.33/webapps路径下(这是关键一步,否则会报错)

[root@localhost webapps]# unzip geoserver-2.11.0-war.zip geoserver.war
Archive: geoserver-2.11.0-war.zip
inflating: geoserver.war

银河麒麟V10 SP3下安装部署GeoServer地图服务_apache_06

4、编辑vim /opt/tomcat/apache-tomcat-9.0.33/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 \

该步骤解决使用中无法选择数据路径的问题。

银河麒麟V10 SP3下安装部署GeoServer地图服务_apache_07

5、启动tomcat服务

[root@localhost bin]# cd /opt/tomcat/apache-tomcat-9.0.33/bin
[root@localhost bin]# systemctl restart tomcat

银河麒麟V10 SP3下安装部署GeoServer地图服务_java_08

三、访问GeoServer

http://服务器IP地址:8080/geoserver  #如果没有打开请关闭防火墙 我的http://192.168.65.132:8080/geoserver

银河麒麟V10 SP3下安装部署GeoServer地图服务_java_09

 

默认的用户名 :admin 和 密码:geoserver 登录后,进入主界面

 

银河麒麟V10 SP3下安装部署GeoServer地图服务_apache_10

四、可能出现的问题

1、8080无法访问的问题,最大可能出现的原因是防火墙端口的开放问题,解决办法如下:

打开防火墙:
systemctl start firewalld.service

银河麒麟V10 SP3下安装部署GeoServer地图服务_apache_11



  关闭

  systemctl stop firewalld

查看端口号开放状态:
firewall-cmd --query-port=8080/tcp

银河麒麟V10 SP3下安装部署GeoServer地图服务_java_12



添加开放测试端口:
firewall-cmd --add-port=8080/tcp

银河麒麟V10 SP3下安装部署GeoServer地图服务_tomcat_13



查看所有开放端口:
firewall-cmd --list-all

银河麒麟V10 SP3下安装部署GeoServer地图服务_java_14



添加永久开放端口:
firewall-cmd --zone=public --permanent --add-port=8080/tcp

银河麒麟V10 SP3下安装部署GeoServer地图服务_apache_15



再次查看所有开放端口:
firewall-cmd --list-all

银河麒麟V10 SP3下安装部署GeoServer地图服务_apache_16


另外,我们还可以查看配置文件,对外开放端口配置文件在/etc/firewalld/zones目录下。
先 cd /etc/firewalld/zones
再 vi public.xml

<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <service name="mdns"/>
  <service name="dhcpv6-client"/>
  <service name="cockpit"/>
  <port port="3306" protocol="tcp"/>
  <port port="8080" protocol="tcp"/>
</zone>

2、Linux:
修改Tomcat的配置文件,在catalina.sh文件和setclasspath.sh文件开头的空白处加上如下两句(指定JDK):

export JAVA_HOME=/usr/local/java/jdk1.6.0_18
export JRE_HOME=/usr/local/java/jdk1.6.0_18/jre
注意:目录中的D盘及jdk目录请替换成真实环境的地址;
/usr/sbin/tomcat /etc/tomcat /usr/libexec/tomcat /usr/share/tomcat

export JAVA_HOME=/usr/local/jdk/jdk8

export JAVA_HOME=/usr/local/jdk/jdk8/jre

3、添加环境变量以保存GeoServer的位置

[root@localhost ~]# echo "export GEOSERVER_HOME=/usr/share/geoserver" >> /etc/profile

银河麒麟V10 SP3下安装部署GeoServer地图服务_tomcat_17

[root@localhost ~]# source /etc/profile  # 刷新

[root@localhost ~]# cat /etc/profile | tail -2   # 查询环境变量

银河麒麟V10 SP3下安装部署GeoServer地图服务_java_18

4、使自己成为geoserver文件夹的所有者

[root@localhost ~]# chown -R root:root /usr/share/geoserver/
[root@localhost ~]# ll /usr/share/geoserver/
总用量 264
drwxr-xr-x  2 root root     82  9月 21  2020 bin
drwxr-xr-x 14 root root    313  9月 21  2020 data_dir
drwxr-xr-x  2 root root    276  5月 19  2020 etc
drwxr-xr-x  2 root root   4096  9月 21  2020 lib
drwxr-xr-x  2 root root     98  9月 21  2020 license
drwxr-xr-x  2 root root     24  5月 19  2020 logs
drwxr-xr-x  2 root root    173  5月 19  2020 modules
-rw-r--r--  1 root root  85824  9月  2  2020 NOTICE.md
-rw-r--r--  1 root root    423  5月 19  2020 README.txt
drwxr-xr-x  2 root root     30  5月 19  2020 resources
-rw-r--r--  1 root root   3945  9月  2  2020 RUNNING.txt
-rw-r--r--  1 root root   1971  5月 19  2020 start.ini
-rw-r--r--  1 root root 160629  5月 19  2020 start.jar
-rw-r--r--  1 root root    333  9月 21  2020 VERSION.txt
drwxr-xr-x  3 root root     23  9月 21  2020 webapps

银河麒麟V10 SP3下安装部署GeoServer地图服务_apache_19

5、通过进入目录geoserver/bin并执行startup.sh脚本来启动GeoServer

[root@localhost ~]# cd /usr/share/geoserver/bin/
[root@localhost bin]# ls
shutdown.bat  shutdown.sh  startup.bat  startup.sh
[root@localhost bin]# ./startup.sh  #启动GeoServer

GEOSERVER DATA DIR is /usr/share/geoserver/data_dir
2023-03-08 11:42:22.079:INFO::main: Logging initialized @648ms to org.eclipse.jetty.util.log.StdErrLog
2023-03-08 11:42:22.441:WARN:oejx.XmlConfiguration:main: Property 'jetty.port' is deprecated, use 'jetty.http.port' instead
2023-03-08 11:42:22.442:WARN:oejx.XmlConfiguration:main: Property 'http.timeout' is deprecated, use 'jetty.http.idleTimeout' instead
2023-03-08 11:42:22.461:INFO:oejs.Server:main: jetty-9.4.18.v20190429; built: 2019-04-29T20:42:08.989Z; git: e1bc35120a6617ee3df052294e433f3a25ce7097; jvm 1.8.0_361-b09
2023-03-08 11:42:22.502:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///usr/share/geoserver/webapps/] at interval 1

。。。

//执行geoserver 启动脚本

//此处需要注意的是geoserver启动后。会一直处于程序窗口无法退出。需要重新打开一个连接centos的窗口。

ss -antulp | grep :8080 //新开命令窗口查询,因为执行start.sh脚本没放入后台,会一直占用终端窗口 
tcp    LISTEN  0       100                        *:8080                *:*      users:(("java",pid=5518,fd=59))

要关闭GeoServer,请关闭永久命令行窗口,或运行bin目录中的cd /usr/share/geoserver/bin/./shutdown.sh 文件。

6、进行tomcat跨域配置

由于跨域会导致地图无法正常显示,需要进行跨域配置。

在/opt/tomcat/apache-tomcat-9.0.33/webapps/root目录中找到/opt/tomcat/apache-tomcat-9.0.33/webapps/ROOT/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。

删除安装GeoServer的目录。  



举报

相关推荐

0 条评论