Node项目部署工具之upstart

upstart是基于linux的一个项目,它可以在服务器重启后自动重启项目,在服务器关闭前自动停止项目,项目崩溃时自动重启项目,并记录错误日志,ubuntu,CentOS 6都支持upstart

ubunbu中安装upstart

sudo apt-get install upstart

CentOS中安装upstart

sudo yum install upstart

安装upstart后,需要为每一个项目添加一个upstart配置文件:my_application_name.conf,这些文件要放置在/etc/init目录下,这些不需要可执行权限就行

创建一个空的配置文件

sudo touch /etc/init/nodeAppName.conf

配置文件示例

#!upstart
#项目作者名
author "mcantelon"
#项目名或描述
description "hellonode"
#以用户"nonrootuser"角色来启动项目
setuid "nonrootuser"
#在文件系统及网络设备启动后启动项目(也可以认为是开机自启项目)
start on (local-filesystems and net-device-up IFACE=eth0)
#在关机时停止项目
stop on shutdown
#当项目崩溃时重启项目
respawn
#将STDIN,STDERR日志记录到/var/log/upstart/yourapp.log
console log
#为项目设置所需的环境变量
env NODE_ENV=production
#执行项目的指令
exec /usr/bin/node /path/to/app.js

接下来就可以通过以下指令启动项目了

sudo start nodeAppName

如果启动成功就可以看到

nodeAppName start/running, process 6770

upstart更多的功能,及配置详情,可以在http://upstart.ubuntu.com/cookbook/上查看

关于upstart的respawn:此命令可以在项目崩溃后自动重启项目

默认的如果在5秒内尝试重启了10次都失败,则会停止尝试重启,(这种情况下往往都是代码出了严重的问题)
可以通过以下命令来修改此项

respawn
#项目崩溃后,5秒内尝试重启20次
respawn limit 20 5







你可能感兴趣的:(Node项目部署工具之upstart)