저는 CentOS를 처음 사용합니다. 타일스트림을 설치했습니다. 이제 시스템을 다시 시작한 후 Tilestream이 자동으로 시작되기를 원합니다. 이 방법지도 시간.
/etc/init/tilestream.conf
#!upstart
#description "node.js chatapp server"
#author "subicura"
start on startup
stop on shutdown
script
export HOME="/home/myuser"#
echo $$ > /var/run/tilestream.pid
exec /usr/bin/node /usr/bin/tilestream >> /var/log/tilestream.log 2>&1
end script
pre-start script
# Date format same as (new Date()).toISOString() for consistency
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Starting" >> /var/log/tilestream.log
end script
pre-stop script
rm /var/run/tilestream.pid
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Stopping" >> /var/log/tilestream.log
end script
c터미널에서 다음을 수행합니다.
/sbin/start tilestream
산출:
tilestream start/running, process 2428
로그에서:
[2014-06-27T08:32:55.316Z] (sys) Starting
Creating tiles dir /home/myuser#/Documents/MapBox/tiles
Started [Server Tile].
Started [Server Core:8888].
하지만 TileStream이 작동하지 않습니다.
/etc/init.d/tilestream 스크립트로 시작하면
#!/bin/sh
### BEGIN INIT INFO
# Provides: tilestream
# Required-Start: $local_fs $remote_fs $network $syslog $named
# Required-Stop: $local_fs $remote_fs $network $syslog $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive: true
# Short-Description: Start TileStream server
### END INIT INFO
TILESTREAM="/usr/bin/tilestream"
MAPPATH="/data"
HOST="host"
#HOST="localhost"
#UIPORT="9001"
UIPORT="8888"
#TILEPORT="9000"
TILEPORT="8888"
SUBDOMAINS="a,b,c,d"
case $1 in
start)
echo "Starting TileStream"
#$TILESTREAM --tiles=$MAPPATH --host=$HOST&
#$TILESTREAM --tiles=$MAPPATH --host=$HOST --uiPort=$UIPORT --tilePort=$TILEPORT --subdomains=$SUBDOMAINS&
$TILESTREAM --tiles=$MAPPATH --host=$HOST --uiPort=$UIPORT --tilePort=$TILEPORT&
;;
stop)
echo "Stopping TileStream"
#PID=`ps aux | grep $TILESTREAM | grep -v grep | awk '{print $2}'`
PID=`ps aux | grep "tilestream" | grep -v grep | awk '{print $2}'`
kill -9 $PID
;;
restart)
echo "Restarting TileStream"
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}" >&2
exit 1
;;
esac
이 경우 모든 것이 잘 작동합니다.
어떤 제안이 있으십니까?
답변1
init 스크립트에서 전달한 옵션을 Tilestream 명령에 추가하되 stdout/in 리디렉션 앞에 추가합니다.