nuxtjs是vuejs的服务器渲染版本,针对seo非常友好,在服务器端即可渲染完成返回给客户端正常的html页面。但是官方文档中并没有关于利用pm2或者supervisor启动nuxt应用的说明。这里会友详细的教程。

supervisor

supervisor作为进程管理,当nodejs应用目录发生了任何改变,supervisor都会监听到,然后自动重启服务,保证了应用服务不会异常中断。这个效果在本地作开发的时候尤其好用,因为不用无限的关闭应用、开启应用。本人推荐做nodejs应用开发的时候使用supervisor。

pm2

pm2也是进程管理,但是更加先进,expressjs官方推荐使用pm2管理进程,pm2最有用的功能在于多线程集群开启应用,由于nodejs是单线程无阻塞的异步应用,所以如果要想支持利用CPU的多核或者多线程的计算能力,普通的node方式开启应用就没有办法实现,而pm2内置了对多线程集群的支持,仅仅只需要在开启应用的时候加上-i 0这个参数,就会完全利用CPU的多核计算能力。所以推荐在部署应用的时候使用PM2进程管理。

如何在nuxtjs中使用

无论是对于pm2或者是supervisor,在nuxtjs中使用都要费一些周折,这里提供一个简单的方法。进入nuxtjs应用的目录,npm install安装之后,利用以下命令即可使用supervisor或者pm2开启nuxtjs应用:

pm2 start ./node_modules/nuxt/bin/nuxt-start -i 0
//或者
supervisor ./node_modules/nuxt/bin/nuxt-start