在 CentOS 上安装和配置 GeoServer并配置为系统服务
CentOS 上安装和配置 GeoServer 作为系统服务
1. 安装 GeoServer
-
下载 GeoServer:
- 从 GeoServer 官方网站 下载最新版本的 GeoServer 压缩包。
-
解压文件:
tar -zxvf geoserver-2.25.3-bin.zip -C /usr/local
2. 创建 systemd 服务文件
-
创建服务文件:
sudo vim /etc/systemd/system/geoserver.service
-
编辑服务文件:
输入以下内容,确保根据实际安装路径和用户进行调整:[Unit] Description=GeoServer Service After=network.target [Service] Type=simple User=root # 确保使用正确的用户 ExecStart=/usr/local/geoserver-2.25.3/bin/startup.sh ExecStop=/usr/local/geoserver-2.25.3/bin/shutdown.sh WorkingDirectory=/usr/local/geoserver-2.25.3 Restart=on-abort [Install] WantedBy=multi-user.target
-
保存并退出。
3. 设置脚本权限
确保 GeoServer 的启动和停止脚本具有执行权限:
sudo chmod +x /usr/local/geoserver-2.25.3/bin/startup.sh
sudo chmod +x /usr/local/geoserver-2.25.3/bin/shutdown.sh
4. 配置启动脚本
-
编辑启动脚本:
sudo vim /usr/local/geoserver-2.25.3/bin/startup.sh
-
确保第一行指定正确的解释器:
确保文件的第一行是:#!/bin/sh
-
保存并退出。
5. 启用并启动服务
-
重新加载 systemd 配置:
sudo systemctl daemon-reload
-
启用服务(开机自启动):
sudo systemctl enable geoserver
-
启动服务:
sudo systemctl start geoserver
-
检查服务状态:
sudo systemctl status geoserver
6. 排查问题
如果服务启动失败,检查日志获取更多信息:
journalctl -xe
常见错误及解决方案
- Exec format error:确保
startup.sh
的第一行是正确的解释器声明 (#!/bin/sh
)。 - 权限问题:确保脚本文件具有执行权限 (
chmod +x
)。
7. 常用 systemctl 命令
-
启动服务:
sudo systemctl start geoserver
-
停止服务:
sudo systemctl stop geoserver
-
重启服务:
sudo systemctl restart geoserver
-
禁用自启动:
sudo systemctl disable geoserver