简单的小网站可以直接使用Node.js作为web服务器,不做前后端分离,使用后端模板填充数据,代表框架express。
如果要做负载均衡或者响应多端请求,那么采用前后端分离。前端代码可以放在CDN或nginx这类静态服务器上,前端向Node.js服务端发送rest请求。代表框架koa。
如果业务更加复杂,有较多的CPU密集型任务需要执行,那么Node.js后面再接一层服务器(Java、Python)来处理。
另外由于Node.js是单线程进程,一旦出错就会崩溃,导致服务端无法访问。所以部署Node.js的时候需要使用
PM2
,这样可以在Node.js程序崩溃之后及时重启,当然还有其它好处,比如灰度部署、负载均衡等。