gpt4 book ai didi

ruby - 带有 Ubuntu 初始化脚本的 unicorn 服务器

转载 作者:行者123 更新时间:2023-12-04 18:46:45 24 4
gpt4 key购买 nike

我创建了这个 init.d根据此 digitalocean tutorial 的 unicorn 脚本.

#!/bin/sh

### BEGIN INIT INFO
# Provides: unicorn
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the unicorn app server
# Description: starts unicorn using start-stop-daemon
### END INIT INFO

set -e

USAGE="Usage: $0 <start|stop|restart|upgrade|rotate|force-stop>"

# app settings
USER="deploy"
APP_NAME="appname"
APP_ROOT="/home/$USER/$APP_NAME"
ENV="production"

# environment settings
PATH="/home/$USER/.rbenv/shims:/home/$USER/.rbenv/bin:$PATH"
CMD="cd $APP_ROOT && bundle exec unicorn -c config/unicorn.rb -E $ENV -D"
PID="$APP_ROOT/shared/pids/unicorn.pid"
OLD_PID="$PID.oldbin"

# make sure the app exists
cd $APP_ROOT || exit 1

sig () {
test -s "$PID" && kill -$1 `cat $PID`
}

oldsig () {
test -s $OLD_PID && kill -$1 `cat $OLD_PID`
}

case $1 in
start)
sig 0 && echo >&2 "Already running" && exit 0
echo "Starting $APP_NAME"
su - $USER -c "$CMD"
;;
stop)
echo "Stopping $APP_NAME"
sig QUIT && exit 0
echo >&2 "Not running"
;;
force-stop)
echo "Force stopping $APP_NAME"
sig TERM && exit 0
echo >&2 "Not running"
;;
restart|reload|upgrade)
sig USR2 && echo "reloaded $APP_NAME" && exit 0
echo >&2 "Couldn't reload, starting '$CMD' instead"
$CMD
;;
rotate)
sig USR1 && echo rotated logs OK && exit 0
echo >&2 "Couldn't rotate logs" && exit 1
;;
*)
echo >&2 $USAGE
exit 1
;;
esac

现在(脚本名称为 uicorn_app )
sudo update-rc.d `unicorn_app` defaults

作品。但每当我尝试
 $ sudo service unicorn_app start
Starting app
-su bundle: command not found

但是我可以通过
$ sudo service unicorn_app stop

在我手动启动它之后
RAILS_ENV=production rails s -b ip.ip.ip.ip

我安装了 ruby on rails/etc/local通过 rbenv 和 PATH第一个条目重定向到正确的目录:
/usr/local/rbenv/shims
/usr/lcoal/rbenv/bin

我需要更改我的脚本找到捆绑包的内容吗?既然我认为 PATH 是正确的,还有什么可能出错的?提前感谢您的帮助!

最佳答案

好的,解决方案与 rbenv 安装有关。我需要添加行 PATHRBENV_ROOT到我的 ~/.bash_profile。添加它们后,我可以通过 sudo service unicorn_app start 启动 unicorn

关于ruby - 带有 Ubuntu 初始化脚本的 unicorn 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33675543/

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