您的位置:首页 > Web前端 > Node.js

NodeJS多核多线程的解决方案 -- pm2 之一

2017-01-16 22:35 459 查看

写在前面

这两年做了很多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 保存任务实现开机重启的原理。
更多请参考:
点击打开链接

整个系列:NodeJS多核多线程的解决方案 -- pm2 之一
NodeJS多核多线程的解决方案 -- pm2 之二 自启动
NodeJS多核多线程的解决方案 -- pm2 之三 自启动脚本编写
pm2日志清理,设置输出日期
pm2将保存的NodeJS的任务去掉或者修改任务再执行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: