通过pm2部署nuxt

本文介绍了如何使用PM2来管理Nuxt.js应用程序,包括在开发和线上模式下启动应用,以及创建`pm2.json`配置文件。重点讨论了零停机部署策略,通过PM2的cluster模式实现服务不间断更新。虽然`pm2 reload`有时可能出现代码更新不成功的问题,但在大部分情况下,它可以成功更新UI。文章提醒在部署前需要先执行`nuxt build`以避免启动错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先了解一下原始命令

node node_modules/nuxt/bin/nuxt.js # dev模式
node node_modules/nuxt/bin/nuxt.js start # 线上模式

言归正传

根目录创建pm2.json

{
    "apps": [
        {
            "name": "NuxtAPP",
            "script": "node_modules/nuxt/bin/nuxt.js",
            "exec_mode": "fork",
            "max_memory_restart": "1G",
            "autorestart": true,
            "node_args": [],
            "args": ["start"],
            "env": {
            }
        }
    ]
}

pm2的相关命令

pm2 start pm2.json  
pm2 restart pm2.json  
pm2 stop pm2.json  

还有一些其它命令,请自行学习。

 

注意事项,启动前必须先build,否则会报错。

nuxt build

 

零停机部署方案

零停机部署就是使用 PM2 的 cluster模式,更新程序的时候用 pm2 reload [appName],有多个集群(cluster)的时候,PM2会先重启一部分进程,这样就不会导致服务中断,等新的进程重启成功后再重启其他进程,实现零停机(zero-downtime)部署。

但是reload似乎在有时候会有代码更新后reload无法更新代码的问题。但只遇到了一次,实测在更新UI的时候,直接reload是可以更新成功的,等下次遇到了再解决吧。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值