小编Xen*_*nGi的帖子

使用supervisord和rvm来运行rubyonrails

我有一个RubyOnRails 3项目,我正在使用rvm.我想从sysvinit脚本切换到supervisord.sysvinit脚本只能在出现错误的情况下启动软件,它会被$ something杀死并重新启动.主要是我.

在项目文件夹中有一个.ruby-version和一个.ruby-gemset文件,以便自动加载正确的ruby版本和gemset.然后应用程序是一个shell脚本的startet,如下所示:

#!/bin/bash

RAILS_ENV="production" rails server -d
Run Code Online (Sandbox Code Playgroud)

我的init脚本看起来像这样,除了重新启动和停止之外还有效:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          myapp
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts myapp
# Description:       starts the myapp software
### END INIT INFO

USER=myuser
PATH=$PATH
DAEMON=go.sh
DAEMON_OPTS=""
NAME=myapp
DESC="myapp for $USER"
PID=/home/$USER/myapp/tmp/pids/server.pid

case "$1" in
  start)
        CD_TO_APP_DIR="cd /home/$USER/myapp"
        START_DAEMON_PROCESS="$DAEMON $DAEMON_OPTS"

        echo -n "Starting $DESC: …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails sysv rvm supervisord

6
推荐指数
1
解决办法
1132
查看次数

标签 统计

ruby ×1

ruby-on-rails ×1

rvm ×1

supervisord ×1

sysv ×1