问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Ubuntu安装 GeoServer 并设置自启、远程访问

创作时间:
作者:
@小白创作中心

Ubuntu安装 GeoServer 并设置自启、远程访问

引用
CSDN
1.
https://m.blog.csdn.net/weixin_43416590/article/details/145675135

GeoServer 是一个开源的地理空间服务器,用于共享地理空间数据。其基于 Java 开发,遵循 OGC(开放地理空间联盟)标准,支持多种地理空间数据格式;可以将地理空间数据(如矢量数据、栅格数据)发布为 Web 服务;并且其提供了一个基于Web的用户界面,方便用户进行数据发布、服务配置和管理操作,无需复杂的命令行操作。官网介绍了详细的安装,大家也可以直接参考官网教程:https://docs.geoserver.org/latest/en/user/installation/index.html#installation。安装笔记包括了软件安装、设置服务开机启动、设置远程访问等内容。

(1)下载安装包

下载安装包前,要确保安装了 Java 运行环境,GeoServer 需要Java 11Java 17环境。GeoServer官网提供了二进制分发版、 Web 应用程序存档(WAR)版、Windows安装包,我这里尝试使用二进制分发版在ubuntu中进行安装,可以使用 wget 命令进行下载安装包,可以直接通过桌面环境中浏览器下载。

wget https://sourceforge.net/projects/geoserver/files/GeoServer/2.26.1/geoserver-2.26.1-bin.zip/download

(2)解压安装包

接下来,解压安装包到路径:/opt/gerserver,

cd "/root/Downloads"
sudo unzip geoserver-2.26.1-bin.zip -d /opt/geoserver

(3)启动与关闭GeoServer

进入 GeoServer 的安装目录中的 bin 子目录,执行启动脚本。

cd /opt/geoserver/bin
sudo ./startup.sh

如果这里报如下错误,那就是JAVA没有设置好,可能安装的版本不对或者默认的JAVA版本不对。我一开始报错,因为在安装Udig过程中,使用 update-java-alternatives 设置了JAVA8为全局默认的JAVA版本,所以我即使安装了JAVA11也报错。

GEOSERVER_HOME environment variable not found, using current 
location.  If not set then running this script from other 
directories will not work in the future.
GEOSERVER DATA DIR is /opt/geoserver/data_dir
Unrecognized option: --add-exports=java.desktop/sun.awt.image=ALL-UNNAMED
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit

我们可以将JAVA全局默认的版本改回JAVA11,我这里修改了GeoServer的启动脚本,直接指定了JAVA路径;并且直接显式指定了GEOSERVER_HOME

export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
export GEOSERVER_HOME=/opt/geoserver
# 打印验证一下
echo $GEOSERVER_HOME
echo $JAVA_HOME
java -version

如果是经常要使用GeoServer,可以使用 systemd 服务文件来配置 GeoServer 直接默认自动启动。新建并编辑文件,可以使用 vim 或者 nano :

sudo nano /etc/systemd/system/geoserver.service

然后将如下代码复制到文件中,其中的注释可以删掉。

[Unit]
Description=GeoServer #服务的描述。
After=network.target #指定在 network.target 启动后启动 GeoServer

[Service]
Type=simple #服务类型,simple 表示直接执行 ExecStart
User=root   #运行GeoServer的用户 
ExecStart=/opt/geoserver/bin/startup.sh #启动和停止的脚本路径
ExecStop=/opt/geoserver/bin/shutdown.sh
Restart=on-failure #在失败时自动重启服务

[Install]
WantedBy=multi-user.target #指定该服务在多用户目标下启动

然后接下来执行以下命令启用并启动服务

# 重新加载 systemd 配置
sudo systemctl daemon-reload
#启用服务,使其在系统启动时自动运行
sudo systemctl enable geoserver.service
#启动服务,以测试配置是否正确
sudo systemctl start geoserver.service
#检查服务状态
sudo systemctl status geoserver.service

服务状态显示:Active: active (running) 那就说明OK了。

如果要关闭GeoServer,可以直接在当前窗口使用Ctrl+C停止。如果在其他命令行窗口下需要先到 /opt/geoserver/bin 目录,再执行:

sudo ./shutdown.sh

脚本文件。

(4)访问GeoServer、修改与重置密码

打开浏览器,输入 http://localhost:8080/geoserver ,可以看到 GeoServer 的 Web 管理界面。首次访问时,需要使用默认的用户名和密码登录,默认用户名是 admin ,默认密码是 geoserver 。

登录后,可以在左侧菜单栏中,修改密码等。

如果忘记密码,就进入路径:

/opt/geoserver/data_dir/security/usergroup/default/users.xml

,将里面重置显式设置为:

,再使用新密码登录即可。

(5)设置远程访问

远程访问安装在云服务器上的geoserver,首先要保证云服务器添加了8080端口的安全组规则;

如果设置了防火墙的话,要允许8080端口通过防火墙,以ufw防火墙为例,代码如下:

sudo ufw allow 8080

这样就可以在本地浏览器输入网址:

http://云服务器公网IP地址:8080/geoserver

来访问云服务器。

此外,大家也可以使用Docker安装和运行GeoServer。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号