gpt4 book ai didi

centos - Centos 上的 Geoserver 服务自动启动

转载 作者:行者123 更新时间:2023-12-04 19:43:29 24 4
gpt4 key购买 nike

我尝试使用它但出现错误:感谢任何帮助。我还尝试了 http://docs.geoserver.org/latest/en/user/_downloads/geoserver_deb 中的代码
Geoserver 网站,但它是用于 debain 的。我是 CentOS 新手,不太了解。每次运行该服务时,我都必须手动运行 statup.sh。

Starting geoserver…
bash: /var/log/geoserver.log: Permission denied
geoserver is started

这是自动启动脚本:
#!/bin/sh
### BEGIN INIT INFO
# Provides: GeoServer
# Required-Start: $local_fs $network $named $time $syslog
# Required-Stop: $local_fs $network $named $time $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Starts and stops the GeoServer, which should be located at /usr/share/geoserver
### END INIT INFO

SERVICE_NAME=geoserver
START=/usr/share/geoserver/geoserver-2.10.1/bin/startup.sh
STOP=/usr/share/geoserver/geoserver-2.10.1/bin/shutdown.sh
RUNAS=test
GEOSERVER_HOME=/usr/share/geoserver/geoserver-2.10.1/
JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64

PIDFILE=/var/run/geoserver.pid
LOGFILE=/var/log/geoserver.log

start() {
if [ -f /var/run/$PIDNAME ] && kill -0 $(cat /var/run/$PIDNAME); then
echo "$SERVICE_NAME is already running" >&2
return 1
fi
echo "Starting $SERVICE_NAME…" >&2
su -c "GEOSERVER_HOME=$GEOSERVER_HOME JAVA_HOME=$JAVA_HOME $START &> '$LOGFILE' & echo \$!" $RUNAS > "$PIDFILE"
echo "$SERVICE_NAME is started" >&2
}

stop() {
if [ ! -f "$PIDFILE" ] || ! kill -0 $(cat "$PIDFILE"); then
echo "$SERVICE_NAME is not running" >&2
if [ -f "$PIDFILE" ]; then
echo "Removing $PIDFILE"
rm $PIDFILE
fi
return 1
fi
echo "Stopping $SERVICE_NAME…" >&2
su -c "$STOP &> '$LOGFILE' & echo \$!" $RUNAS && kill -15 $(cat "$PIDFILE") && rm -f "$PIDFILE"
echo "$SERVICE_NAME has stopped" >&2
}

status() {
printf "%-50s" "Checking $SERVICE_NAME..."
if [ -f $PIDFILE ]; then
PID=`cat $PIDFILE`
if [ -z "`ps axf | grep ${PID} | grep -v grep`" ]; then
printf "%s\n" "Process dead but pidfile exists"
exit 1
else
echo "$SERVICE_NAME is running"
fi
else
printf "%s\n" "$SERVICE_NAME is not running"
exit 3
fi
}

case "$1" in
status)
status
;;
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: $0 {start|restart|status|stop}"
esac

exit 0

最佳答案

正在运行的用户 tomcat必须能够写入 GeoServer 数据目录和日志文件位置(在本例中为 /var/log/)。我完全忘记了用户 centos 使用的是什么,但它可能是 tomcattomcat7 .

关于centos - Centos 上的 Geoserver 服务自动启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43650663/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com