目录
1.前言
因项目需求,需要将geoserver部署在Centos系统上,因此制作此教程,供学习使用,欢迎转发分享。
由于项目申请的服务器还在审理过程中,工期紧张,恰好手头有一个闲置的树莓派,正好可以拿它来练手,进行部署安装geoserver服务。
2.硬件准备
1.读卡器及32G内存卡(尽量选择读写速度快一点的内存卡,否则影响性能)
2.树莓派4B 4G内存
3.一台笔记本电脑(能进行烧录就行)
3.安装Centos7
系统下载
CentOS主流版本有7和8,我们这里选择centos7进行安装,因为现在8已经不更新了,CentOS 8 是一个介于实验性版本和稳定商业版本之间的产物,是最后一个版本,一般情况下,我们更追求稳定性,所以我们选择centos7。
本人使用的是Centos7,在网上可以自行下载另附下载地址
以上内容及下载Centos7的版本出自博主秃头披风侠.
的文章超详细的CentOS7的下载安装配置教程【感谢博主的无私分享,如有侵权,请私信联系删除内容】
系统烧录
-
将内存卡格式化
-
下载树莓派的系统烧录软件
-
烧录系统
-
配置网络
1、在CentOS7系统中配置网卡比较简单,我们可以通过以下命令进入到网络配置页面:
nmtui
2、接下来按照以下步骤进行配置:
(1)选择“Edit a connection”
(2)选择需要配置的网卡名称
(3)选择“IPv4 CONFIGURATION”
(4)选择“Manual”
(5)填写IP地址、子网掩码、网关、DNS等信息
(6)保存并退出
安装centos7图形化界面(根据个人需求,不需要安装的可跳过此步骤)
- 1.更新系统
在安装图形化界面之前,我们需要先更新系统。打开终端并输入以下命令
sudo yum update
- 2.安装GNOME桌面环境在更新系统之后,我们需要安装GNOME桌面环境。输入以下命令:
sudo yum groupinstall “GNOME Desktop”
这个命令将会安装GNOME桌面环境和所有相关的软件包。 - 3.安装完成后,我们可以通过以下命令启动图形界面:
startx
- 4.设置默认运行级别
安装完GNOME桌面环境之后,我们需要设置默认的运行级别。运行级别是操作系统启动时所运行的服务和进程的集合。我们需要将运行级别设置为图形化界面。
sudo systemctl set-default graphical.target
这个命令将会将默认运行级别设置为图形化界面。 - 5.重启系统重启系统,让GNOME桌面环境生效。输入以下命令:
sudo reboot
等待系统重启完成后,就可以看到GNOME桌面环境了。
参考文章链接:centos7图形界面详解
界面切换设置
- 从命令行模式切换到图形界面模式:
输入命令systemctl set-default graphical.target
,之后再输入reboot重启即可。 - 从图形界面模式切换到命令行模式:
输入命令systemctl set-default multi-user.target
之后再输入reboot重启即可。
安装测试
将下载好的Centos7烧录至内存卡中
4.下载安装jdk
下载
需要配置geoserver的安装环境,以下是官方需要的jdk版本选择。
下载11.0.20也是可以的。JDK-11.0.20下载地址
我选择的是 jdk-11.0.20_linux-aarch64_bin.tar.gz,请根据自身需求下载。需要说明的是下载的时候会需要注册一个账号,可自行免费注册,点击登录自会下载。
JDK下载安装参考链接
配置环境变量
下载完成后需要配置环境变量
#1.检查当前机器是否有自带的JDK
>>>rpm -qa |grep java
>>>rpm -qa |grep jdk
>>>rpm -qa |grep gcj
#2.如果没有 则跳至安装步骤,有的话 进行卸载
>>>rpm -qa | grep java | xargs rpm -e --nodeps
#3.检测卸载是否成功
>>>java -version
#4.出现一下提示则说明没有安装JDK或者已经卸载成功
-bash: java: command not found
#5.在服务器上新建Java目录
>>>mkdir /usr/usr/share/java-11.0.20
#6.进切换至下载文件的存放位置
>>>cd ~/下载
#7.解压文件到/usr/usr/share/java-11.0.20
>>>tar -zxvf jdk-11.0.20-linux-aarch64_bin.tar.gz -C /usr/usr/share/java-11.0.20
----------------------------
-x:解压缩。
-z:表示压缩文件的格式是gzip格式(.gz文件)。
-v:显示详细的解压缩过程。
-f:指定要解压缩的文件名。
-C:在后面路径,表示将文件解压缩到指定文件夹
---------------------------
#8.设置环境变量
#8.1编辑配置文件
>>>vim /etc/profile
#将如下代码/etc/profile文件内
-------
export JAVA_HOME=/usr/share/java-11.0.20/jdk1-11.0.20
export PATH=$JAVA_HOME/bin:$PATH
#按esc退出按wq!保存退出
-------
#刷新配置
>>>source /etc/profile
#查看JDK版本
>>>java -version
5.安装Geoserver
下载Geoserver
选择自己需要的版本,我使用的是Geoserver-2.23.1。
类型 | 说明 |
---|---|
bin | 二进制安装版本。本教程使用版本,需要自行配置环境变量 |
war | tomcat的扩展包版本,需要另行安装tomcat |
windows | windows的可执行文件版本msi.双击安装版本 |
doc | geoserver的使用说明,可自行下载学习(英文版) |
extension | geoserver的插件 |
根据需要选择合适的插件,例如 Vector Tiles。
#安装支持zip的工具
>>>sudo yum install -y unzip zip
#新建geoserver文件夹
>>>mkdir /usr/usr/share/geoserver
#切换至下载文件的存放位置
>>>cd ~/下载
#解压zip文件,将压缩文件geoserver-2.23.1-bin.zip在指定目录/usr/share/geoserver下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件。
>>>sudo unzip -o geoserver-2.23.1-bin.zip -d /usr/share/geoserver
----------------------------
-o 不必先询问用户,unzip执行后覆盖原有文件。
-d <目录> 指定文件解压缩后所要存储的目录。
---------------------------
#设置环境变量
#编辑配置文件
>>>sudo vim /etc/profile
#将如下代码/etc/profile文件内
-------
export GEOSERVER_HOME=/usr/share/geosever
#按esc退出按wq!保存退出
-------
#刷新配置
>>>source /etc/profile
#查看JDK版本
>>>java -version
设置geoserver服务开机自启动
#查看机器是否能用systemd服务,运行命令# ps aux,
#看pid=1的进程是否是/usr/lib/systemd/systemd --switched-root --system --deserialize 22
#在/etc/systemd/system下创建auto_start.service
# vi geoserver.service
#键入以下内容
-------------------------------
[Unit]
Description=The Geoserver auto run when reboot
After=default.target
[Service]
Type=simple
Environment="GEOSERVER_HOME=/usr/share/geoserver"
ExecStart=/usr/share/geoserver/bin/startup.sh
ExecStop=/usr/share/geoserver/bin/shutdown.sh
RemainAfterExit=yes
[Install]
WantedBy=default.target
------------------------------
#重启systemd服务、设置开机自启动
systemctl daemon-reload
systemctl enable geoserver.service
#重启
reboot
6.常用指令汇总
以下为我在Centos7上安装geoserver过程中,使用到的命令,请根据自己的需要自行选择:
设置防火墙端口
在 CentOS 7 中,可以通过以下步骤来开放指定端口号,我使用的非root用户,所以要加"sudo":
firewalld 是 CentOS 7 默认的防火墙管理工具,使用防火墙管理工具 firewalld 进行端口开放。
检查当前防火墙的状态,检查 firewalld 服务是否正常工作。
sudo systemctl status firewalld
设置打开端口号。例如,如果要开放 8080端口,可以运行以下命令:
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
命令 | 说明 |
---|---|
--zone | 指定防火墙作用域,通常为public,public表示公共端口。--zone区域的其他参数如下图所示。 |
--add-port | 指定要开放的端口号和协议(这里是 8080/tcp,格式为:端口号/通讯协议) |
--permanent | 将端口设置修改永久保存 |
具体设置如下图所示(此图为Centos7 GNOME 界面样式,若未安装Centos7的图形化界面,请略过下图):
设置完成端口号后,重新加载防火墙设置,使设置的参数生效:
sudo firewall-cmd --reload
查询端口号
sudo firewall-cmd --list-port
sudo firewall-cmd --list-all
检查8080端口是否开启
sudo firewall-cmd --query-port=8080/tcp
检查指定区域端口是否已成功开放。
sudo firewall-cmd --zone=public --list-ports
如果看到类似以下输出,表示8080端口已经成功开放:
22/tcp 24/tcp 5901/tcp 8080/tcp
启动防火墙
systemctl start firewalld
设置防火墙服务在系统性启动时自启动
systemctl start firewalld
重启防火墙
firewall-cmd --reload
关闭防火墙
systemctl stop firewalld
禁用防火墙
systemctl disable firewalld
以上步骤可以帮助您在 CentOS 7 中开放指定端口号。
【温馨提示】开放端口可能会增加服务器的安全风险,因此在进行端口开放时,务必只开放必要的端口,并遵循网络安全最佳实践。
7.小结
本项目的部署教程适用于麒麟OSV10系统。
适用于麒麟OS系统无图形化界面