如何告诉Unicorn使用“bundle exec”运行Rails?

时间:2017-04-05 23:45:34

标签: ruby-on-rails exec bundle ruby-on-rails-5 unicorn

我在Ubuntu 14.04上使用Rails 5运行Unicorn。我使用脚本/etc/init.d/unicorn,

运行Unicorn作为守护进程
case "$1" in
  start)
        check_config
        check_app_root

        log_daemon_msg "Starting $DESC" $NAME || true
        if start-stop-daemon --start --quiet --oknodo --pidfile $PID --exec $DAEMON -- $UNICORN_OPTS; then

在一个单独的文件/ etc / default / unicorn中,我定义了DAEMON和UNICORN_OPTS变量...

UNICORN_OPTS="-D -c $CONFIG_RB -E $RAILS_ENV"
...
DAEMON="$GEM_PATH/bin/unicorn"

我的问题是,我怎么告诉Unicorn它运行rails时用“bundle exec”作为前缀?我需要捆绑exec,因为我在我的独角兽日志中得到所有这些抱怨抱怨宝石版本以及捆绑exec将如何节省一天。

1 个答案:

答案 0 :(得分:1)

Bundle needs to be run from the directory of the app root.

Your DAEMON should look something like cd $APP_ROOT && $GEM_PATH/bin/bundle exec unicorn