瘦服务器自动重启脚本

时间:2014-10-31 11:52:40

标签: ruby ubuntu azure configuration thin

我是ubuntu上的新手,我在azure上面临一个问题,其中虚拟机会因为微软的维护而自动重启。

因此我的应用程序正在崩溃。 此外,他们(窗口)方面也没有确认何时进行重启/系统更新。

即使我启动瘦服务器,如何为特定端口保持打开状态,例如端口3000,3001,3002,3003.or等等。请告诉我。

我浏览了各种博客并在init.d进行了更改,以便在重启期间自动启动瘦服务器。

user: root
group: webuser
pid: tmp/pids/thin.pid
timeout: 30
wait: 30
log: log/thin.log
max_conns: 1024
require: []
environment: production
max_persistent_conns: 512
servers: 1
threaded: true
no-epoll: true
daemonize: true
socket: tmp/sockets/thin.sock
chdir: webuser/app
tag: hey aux

我已尝试过上述内容但未能成功。

以下是我的etc/init.d thin文件: -

# Do NOT "set -e"

DAEMON=/usr/bin/thin
SCRIPT_NAME=/etc/init.d/thin

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

run_action() {
        ACTION="$1"

    if [ -x /usr/bin/ruby1.8 ]; then
        /usr/bin/ruby1.8 $DAEMON $ACTION --all /etc/thin1.8
    fi

    if [ -x /usr/bin/ruby1.9.1 ]; then
        /usr/bin/ruby1.9.1 $DAEMON $ACTION --all /etc/thin1.9.1
    fi

}

case "$1" in
  start)
    run_action start
    ;;
  stop)
    run_action stop
    ;;
  restart|force-reload|reload)
    run_action restart
    ;;
  *)
    echo "Usage: $SCRIPT_NAME {start|stop|restart}" >&2
    exit 3
    ;;
esac

:

我不知道脚本是对还是错。但代码似乎不起作用。 任何人都可以帮我这个。 非常感谢提前

2 个答案:

答案 0 :(得分:0)

也许你可以使用chkconfig。 使用以下命令检查thin是否为on

chkconfig | grep thin

如果不是(可能在你的情况下),请添加:

chkconfig thin on

答案 1 :(得分:0)

你可能想要使用this script来瘦身。根据我的经验,最好使用Foremanupstart来管理启动时启动应用程序。效果更好,配置更容易。

除此之外,我不确定我是否了解您的堆栈:您是在Azure上在Windows 2012服务器上运行的Ubuntu VM上部署ruby Web应用程序吗?