nuxt+pm2部署,解决nuxt异常缓慢的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nuxt+pm2部署,解决nuxt异常缓慢的问题相关的知识,希望对你有一定的参考价值。
参考技术A部署到线上后,发现nuxt 异常缓慢 ?
一检查network,发现有10M+的js包?
没错,你部署失败了。
不妨本地尝试一下
这两个命令的差异,不难看出
那么,为什么本地没问题,pm2部署后就会进入模式1呢?
很简单
这两种模式可能都会进入模式1,主要是因为没有携带 start 参数,直接启动了nuxt
那么要怎么加上呢
在命令行中,可以增加
-- 后的内容会被原样传递给调用的js,这里调用了哪个js文件呢?
我们可以在 ecosystem.config.js 中找到
一般它的内容为:
script 即pm2调用的脚本,
所以,首先要将这里替换为 ./node_modules/nuxt/bin/nuxt.js ,
也可以替换为 npm run start
记得核对你package.json里的命令
这两种方式,第二种会导致pm2日志有误,所以推荐第一种。
除了 script ,解决加载慢的关键参数来了, start 要放在哪里呢
答案是, args
即
但是,重点来了,假设你用到了 环境区分 , script 和 args 放在上面是 无效的
必须放在下面
所以整个配置文件是这样的
启动命令是这样的
整个过程,官方文档并没有指引,所以还是比较坑的
如果这篇文章帮助了你,留个评论再走
pm2 部署 nuxt3.js 项目并设置服务器重启时项目自动重启
前言
众所周知,nuxt3.js是基于vue开发ssr,seo的项目比较好的框架,那么开发完成项目,如何部署nuxt项目也是比较重要的,接下来就记录一下我在开发中是如何部署的。
我之前写过一篇vue 和 ssr+nuxt.js 配置环境变量以及pm2进行服务部署,这两篇博客一定要结合起来看。。。
这篇文章只是对配置环境变量做了详细介绍,但是如何部署一带而过,是因为那个时候没怎么研究pm2,正好现在得空,研究成功并上线,本篇文章就详细介绍如何部署。
第一步:打包项目部署到服务器
npm run build:prod
将打包后的文件提交到服务器就好了
我们公司内都是采用jekins将项目自动化打包部署,代码提交后自动执行命令,就可以了。
第二步:服务器上安装pm2
切记一定要全局安装,这样的话服务器上任意开一个命令窗口都可以使用,我就是一开始没有全局安装,导致使用pm2时找不到命令
npm install pm2 -g
第三步:启动服务
pm2 start ecosystem.config.js
//然后使用下边的命令看一下启动的服务列表
pm2 list
如果服务是online说明启动成功,这时候再浏览器看一下自己项目,可以正常访问。
这里解释一个小疑惑:我在上一篇文章中写的启动命令是
pm2 start --env uat
,但是在这片中文章中写的又是这个命令,其实这俩是一样的,因为我之前打包的时候已经区分了环境,所以这个时候直接启服务就好了
第四步:设置自动重启
这一步的意义就在于当服务器故障或者重启的时候,pm2服务能自动重启,就不需要每次服务器挂了还要人为敲命令去重启pm2服务。
pm2 startup 设置服务器重启后自动启动服务 linux 服务器可以直接执行 ,而windows服务器就需要安装下边的插件才可以
- 1, 保存启动的服务列表状态
// 这一步是必不可少的
pm2 save
- 2, 全局安装 pm2-windows-startup
cnpm install pm2-windows-startup -g
- 3,设置 pm2-startup
pm2-startup install
以上步骤设置成功后,重启一下服务器,然后打开命令行,输入
pm2 list
看一下服务状态,
然后在看一下网站是否能正常访问,能正常访问就说明设置成功。
结束语
到此,pm2部署nuxt项目就成功了,接下来记一下常用到的pm2命令。
命令 | 用途 |
---|---|
pm2 list | 查看启动的服务列表 |
pm2 restart nuxtjsDemo | 重启名为nuxtjsDemo的服务 |
pm2 stop nuxtjsDemo | 终止名为nuxtjsDemo的服务 |
pm2 delete nuxtjsDemo | 删除名为nuxtjsDemo的服务 |
pm2 kill | 杀掉服务 |
pm2 logs nuxtjsDemo | 查看名为nuxtjsDemo的服务日志 |
以上是关于nuxt+pm2部署,解决nuxt异常缓慢的问题的主要内容,如果未能解决你的问题,请参考以下文章
pm2 部署 nuxt3.js 项目并设置服务器重启时项目自动重启
pm2 部署 nuxt3.js 项目并设置服务器重启时项目自动重启
vue 和 ssr+nuxt.js 配置环境变量以及pm2进行服务部署