Daily Archives: 2013-03-18

Unicorn 无缝重启

无缝重启: 重启过程中不能中断服务,因为网站都是需要7×24提供服务的,不能每次更新代码网站都有一断时间 无法访问,虽然中间可能只有不到1分钟的时间。 不管任何服务进程要实现无缝重启,大概都得按照先开新的进程接,然后优雅的结束老的进程, 优雅的结束老的进程意思是老的进程要处理完当前的请求之后才能结束。 Unicorn 无缝重启简单 5 步搞定:(官方的文档) 给 Unicorn 主进程发送 USR2 信号 kill -USR2 pid 确定当前新的主进程已经完成启动,如果使用 pid 文件,那么会生成一个 .oldbin 的文件存放老的主进程 pid。 现在呢,会有 2 个主进程和双份的 worker 进程,类似下面的进程树: unicorn master (old) \_ unicorn worker[0] \_ unicorn worker[1] \_ unicorn worker[2] … Continue reading

Posted in ruby on rails | Tagged | Leave a comment