我是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
:
我不知道脚本是对还是错。但代码似乎不起作用。 任何人都可以帮我这个。 非常感谢提前
答案 0 :(得分:0)
也许你可以使用chkconfig
。
使用以下命令检查thin
是否为on
:
chkconfig | grep thin
如果不是(可能在你的情况下),请添加:
chkconfig thin on
答案 1 :(得分:0)
你可能想要使用this script来瘦身。根据我的经验,最好使用Foreman和upstart来管理启动时启动应用程序。效果更好,配置更容易。
除此之外,我不确定我是否了解您的堆栈:您是在Azure上在Windows 2012服务器上运行的Ubuntu VM上部署ruby Web应用程序吗?