revel run.sh 怎样自启动?

请问 把 revel run /opt/revel/myapp/run.sh 放到哪里就可随服务器重启而自动运行?
还是需要编写脚本?

共 1 个回复


gomgo

搜索到网上有这样操作的,请问如何?

Upstart 是个很不错的选择。Upstart 是一个基于事件的守护进程,用来替代 /sbin/init ,它既能在系统启动/关机时启动/关闭任务和服务进程,也能在系统运行阶段监控这些任务和服务进程。简直就是居家旅行必备之工具……
使用Upstart为我们的应用创建配置文件,保存到/etc/init/my-revel.conf。配置文件内容如下:

description "My Revel Website"
start on (local-filesystems and net-device-up IFACE!=lo)
kill signal TERM
kill timeout 60
respawn #自动重启
respawn limit 10 5 #尝试10次,间隔5秒
setgid deployuser
setuid deployuser
script
    /var/www/current/run.sh
end script

配置中的start on参数,指定了Upstart会在机器启动完毕,并且网络连接正常之后运行我们的程序。respawn参数则表示自动重启进程,并在5秒内尝试10次。把配置文件中的script部分,指向编译后revel应用中的run.sh即可。
最后,通过命令启动守护进程:
sudo start my-revel
这样,Revel已经成为后台进程运行了,并且会在机器意外重启后自动启动,程序异常退出后,也会被自动启动。可以直接用kill命令杀掉进程,发现新的Revel进程会立马被创建和运行。

# 0