必须先做passenger stop然后再启动,或者我仍然可以通过触摸tmp/restart.txt来做这件事?
发布于 2010-11-18 02:43:35
可以,您可以通过触摸tmp/restart.txt重新启动它。
发布于 2021-03-24 15:42:17
在/etc/init.d中创建脚本:
$ sudo nano /etc/init.d/YOUR_SERVICE_NAME然后,根据需要更改参数。
#!/bin/sh
### BEGIN INIT INFO
# Provides: <NAME>
# 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: <DESCRIPTION>
### END INIT INFO
start() {
echo 'Starting service…' >&2
/bin/bash -l -c 'cd /var/www/myapp/current && passenger start --daemonize -e [staging | production | development ] --ruby path/to/your/bin/ruby'
echo 'Service started' >&2
}
stop() {
echo 'Stopping service…' >&2
passenger stop /var/www/myapp/current
echo 'Service stopped' >&2
}
status() {
passenger status /var/www/myapp/current
}
case "$1" in
start)
start
exit 0
;;
stop)
stop
exit 0
;;
status)
status
exit 0
;;
restart)
stop
start
exit 0
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
esac将此文件设为可执行文件:
$ sudo chmod +x /etc/init.d/YOUR_SERVICE_NAME然后测试它:
/etc/init.d/YOUR_SERVICE_NAME start您可以将设置为随系统一起重新启动:
$ sudo update-rc.d YOUR_SERVICE_NAME defaultshttps://stackoverflow.com/questions/4207860
复制相似问题