pm2部署nuxt3.js项目并设置服务器重启时项目自动重启(代码片段)

郝艳峰Vip 郝艳峰Vip     2023-03-01     808

关键词:

前言


众所周知,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的服务日志

linux上利用pm2和nginx部署项目

...更新nodejs项目(如express)和前端项目(如vue),但需要部署的时候我们就不能再用开发环境的配置了,需要改成生产环境配置。为了使得项目可以稳健的运行在服务端,node可以使用nohup启动,前端项目可以使用nginx代理。但是为... 查看详情

如何使用jenkins重启PM2?

...间】:2019-10-3003:36:14【问题描述】:我正在使用PM2在linux服务器上运行我的node.js应用程序,并带有一个配置文件,如下所示:PM2startmywebsite.config.js一切都很好。但现在我想将詹金斯添加到图片中。我正在使用Jenkinsfile在jenkins中运... 查看详情

如何在同一台服务器起多个pm2进程

...带有负载均衡功能的Node应用的进程管理器。PM2可以利用服务器上的所有CPU,并保证进程永远都活着,0秒的重载,部署管理多个Node项目。PM2是Node线上部署完美的管理工具。PM2安装npminstall-gpm2PM2用法$pm2startapp.js-i4#后台运行pm2,启... 查看详情

nodejs部署方式-pm2

目前Nodejs开发中有很多痛点,其中有一个是修改完代码以后需要我们重启服务才能看到效果。这样一次次的杀进程、重启,杀进程、重启很让人头大。程序员是最痛恨重复工作的物种,之前有了解过的同学可能知道 forever ... 查看详情

pm2部署多个nodejs项目配置教程

    实际项目部署中,我们服务器在启动的时候需要自动启动node服务。以前是通过liunx自带的命令启动。但是随着后台微服务越来越多。每次发布新程序。修改脚本太麻烦了。于是换成PM2来做。1.首先安装pm2npminstall... 查看详情

pm2基本使用(代码片段)

...件名]这里我使用一个node.js内置的http模块搭建的一个简单服务器程序来演示//serve.jsvarhttp=require("http")//创建服务器http.createServer((req,res)=>res.writeHead(200,"Content-Typ 查看详情

nodemon和pm2快速部署服务(代码片段)

...不用重启后端服务,以此提升开发效率;二、pm2部署一个服务(部署)安装npmi-gpm2启动pm2startserver.js启动后,控制台打印信息:pm2常用命令1.启动pm2startapp.jspm2startapp.js--namemy-api#my-api为PM2进程名称pm2startapp.js-... 查看详情

pm2简单使用,守护node进程

...涵盖了PM2的常用的功能和配置。node项目线上环境需求1、服务器稳定性;2、充分利用服务器硬件资源,提高性能;3、线上日志记录;PM2功能1、进程守护,系统奔溃自动重启;2、启动多进程,充分利用cpu和内存;3、自带日志记... 查看详情

使用pm2优雅的部署node程序(代码片段)

使用pm2优雅的部署node程序#启动并监控名字为XXX的npmrunstart:dev命令pm2startnpm--watch--nameXXX--runstart:dev帮助###普通Generalnpminstallpm2-g#安装PM2pm2startapp.js#启动,守护进程,自动重启应用程序Start,Daemonizeandauto-restartapplication(Node)pm2startapp.py#... 查看详情

pm2无法自动重启

在服务器上有个上传文件的服务,之前是pm2启动,每当有文件上传会自动重启 现在为了应对服务器宕机,我把启动脚本放在了另一文件夹内,所以就无法自动重启,原文在http://pm2.keymetrics.io/docs/usage/watch-and-restart/  解决方案... 查看详情

使用高大上的pm2代替forever部署nodejs项目

 简单教程首先需要安装pm2:npminstall-gpm2运行:pm2startapp.js初次安装并运行,会有一个高大上的界面:高大上的界面直接我们介绍过forever,那么pm2与forever相比较有哪些高大上的功能呢?我们看一下对比表格:FeatureForeverPM2KeepAl... 查看详情

centos使用pm2+宝塔面板部署项目(代码片段)

...用系统为Centos7.81.XShell、XFTP下载链接? Xshell和Xftp均连接至服务器2.安装宝塔面板官网教程(1)Centos安装命令在xshell中输入以下命令进行安装(其它版本Linux系统可访问上方链接查询)yuminstall-ywget&&wget-Oinstall.shhttp://download. 查看详情

pm2相关基础知识

...模式下,会自动使用轮询的方式达到负载均衡,从而减轻服务器的压力⑦提供实时的接口:pm2插件提供实时的接口,返回服务器与进程的信息⑧集成管理:有多个进程,不同环境可以统一配置,方便管理4.基础用法①启动进程:p... 查看详情

pm2部署项目(代码片段)

...局命令用npmrun方式,一旦停止,就不能被访问,因此用PM2部署,能够维持进程开启:PM2start/bin/www开启,维持进程其他命令:PM2listpm2--helppm2stopnamepm2restartall方案1前后端分离部署,静态资源部署到nginx,nodejs部署到pm2方案2前后端部... 查看详情

nodejs项目的部署

参考技术A利用工具nssm来把项目安装成Windows服务,然后启动服务nssm官网地址:http://nssm.cc/利用forever或者pm2来部署pm2看样子比较不错 查看详情

Node.js pm2 几乎每秒都在重启

...cond【发布时间】:2016-09-0520:18:12【问题描述】:我在Azure服务器上部署了一个express.js应用程序。我使用pm2进行进程管理。问题是pm2几乎每秒钟都在重新启动。staging@Server:/srv/apps/myapp/current$pm2list┌──────────┬ 查看详情

vue+node部署

参考技术Aexpress-ejsrty-server生成重启node,访问服务器地址查看用vue-cli初始化项目把生成的dist文件中的index.html改名为index.ejs放进服务器上node项目view目录(覆盖)把static文件放进public目录pm2start./bin/www 查看详情

项目上线流程

参考技术A域名:新网万网服务器及域名购买略1、任意命令行工具里输入sshroot@服务器公网IP2、输入yes,然后输入服务器开机密码。密码处于安全考虑不会显示4、安装node高版本,安好之后就有node和npm$curl-sLhttps://rpm.nodesource.com/set... 查看详情