银河麒麟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
1 2 3 4 | [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 |
2、确保安装了Tomcat并可以访问
我的安装路径是:/opt/tomcat/apache-tomcat-9.0.33
访问状态如下:
安装方法:https://www.cnblogs.com/liunaixu/p/17148229.html
3、下载GeoServer并安装
1、安装wget下载工具
[root@localhost ~]# yum -y install wget 上次元数据过期检查:1:53:16 前,执行于 2023年03月08日 星期三 08时58分11秒。 软件包 wget-1.20.3-3.ky10.x86_64 已安装。 依赖关系解决。 无需任何处理。 完毕!
2、下载geoserver-2.11.0-war.zip
wget http://sourceforge.net/projects/geoserver/files/GeoServer/2.11.0/geoserver-2.11.0-war.zip #由于时间过长最好提前下载好, 把下载好的geoserver-2.11.0-war.zip传到银河麒麟系统的/opt/tomcat/apache-tomcat-9.0.33/webapps文件夹下
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
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 \ 该步骤解决使用中无法选择数据路径的问题。
5、启动tomcat服务
[root@localhost bin]# cd /opt/tomcat/apache-tomcat-9.0.33/bin [root@localhost bin]# systemctl restart tomcat
三、访问GeoServer
http://服务器IP地址:8080/geoserver #如果没有打开请关闭防火墙 我的http://192.168.65.132:8080/geoserver
默认的用户名 :admin 和 密码:geoserver 登录后,进入主界面
四、可能出现的问题
1、8080无法访问的问题,最大可能出现的原因是防火墙端口的开放问题,解决办法如下:
打开防火墙:systemctl start firewalld.service
关闭防火墙:systemctl stop firewalld
查看端口号开放状态: firewall-cmd --query-port=8080/tcp
添加开放测试端口: firewall-cmd --add-port=8080/tcp
查看所有开放端口: firewall-cmd --list-all
添加永久开放端口: firewall-cmd --zone=public --permanent --add-port=8080/tcp
再次查看所有开放端口: firewall-cmd --list-all
另外,我们还可以查看配置文件,对外开放端口配置文件在/etc/firewalld/zones目录下。 先 cd /etc/firewalld/zones 再 vi public.xml
1 2 3 4 5 6 7 8 9 10 11 | <?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
1 | <br>export JAVA_HOME=/usr/ local /jdk/jdk8export JAVA_HOME=/usr/ local /jdk/jdk8/jre |
3、添加环境变量以保存GeoServer的位置
[root@localhost ~]# echo "export GEOSERVER_HOME=/usr/share/geoserver" >> /etc/profile

source /etc/profile # 刷新

4、使自己成为geoserver文件夹的所有者
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [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 |
5、通过进入目录geoserver/bin并执行startup.sh脚本来启动GeoServer
1 2 3 4 | [root@localhost ~]# cd /usr/share/geoserver/bin/ [root@localhost bin]# ls shutdown.bat shutdown.sh startup.bat startup.sh [root@localhost bin]# ./startup.sh #启动GeoServerss -antulp | grep :8080 //新开命令窗口查询,因为执行start.sh脚本没放入后台,会一直占用终端窗口 tcp LISTEN 0 100 *:8080 *:* users:(( "java" ,pid=5518,fd=59)) |
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的窗口。
要关闭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
加入如下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | <! -- 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的目录。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)