写在前面
这两年做了很多Web的前后端开发,也有一些经验,所以在这里分享一下。很久不写博客了,因为很多东西都用evernote来记录了,方便快捷。
然后业余我也做了一个单页网站,基于AngularJS+NodeJS的,服务器端,自然就是用到了多开进程的解决方案。
NodeJS的Cluster
其实,用NodeJS,首先会碰到的就是,NodeJS是单线程的工作方式,实际上工作中,都是用Django来做这些活,Python的能力还是足够强大。其实,NodeJS很早就支持了Cluster模式,这个就是同时开启多个进程来监听同一个端口,分发http请求处理,或许大家有疑问,就是端口复用的问题,改天再说。
先说其他方案
NodeJS的这个问题有很多种解决方案,比如supervisord,forever等等,还有就是最原始的写一个shell脚本,同时起多个端口,然后用nginx逆向代理和分发映射到每一个端口。如果大家有需要,留言吧,我再开个帖子说说。
大家可以搜一下这几个东西的比较,我用下来,感觉都不如我现在要讲的pm2。
pm2简介
官网:http://pm2.keymetrics.io/
github:https://github.com/Unitech/pm2
这里就先说这么多,以后再说如何建立ecosystem脚本来实现配置,以及pm2 保存任务实现开机重启的原理。