代替forever下一个部署node的持久化工具---pm2

最近有个后端项目,用的是node,在持久化的时候会挂掉,详细了解到用的是nohup,然后先详细了解了一下nohup

nohup是一个Linux命令,用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行1nohup的英文全称是no hang up(不挂起)。

nohup为什么不稳定,可能有以下几个原因:
1.nohup命令只能保证程序在后台运行,但不能保证程序不会因为其他原因而终止,比如内存不足、程序异常、系统重启等。
2.nohup命令在默认情况下(非重定向时),会输出一个名叫nohup.out的文件到当前目录下,如果当前目录的nohup.out文件不可写,输出重定向到$HOME/nohup.out文件中
3如果这些文件被删除或者磁盘空间不足,可能会导致程序无法正常输出或者崩溃。
4.nohup命令在执行时,会将当前shell的标准输入、标准输出和标准错误输出全部重定向到/dev/null设备中,避免被关闭终端的信号所中断,但是,如果程序需要从标准输入读取数据或者向标准输出和标准错误输出写入数据,那么nohup命令可能会造成程序阻塞或者异常。

解决思路:

这个时候我想到了forever,因为之前碰到类似的问题,也写文章写了如何安装,但是在安装完之后碰到过一个问题,就是这个问题,但是当我安装完运行的时候报错如下

在这里插入图片描述

报错信息

(node:9352) Warning: Accessing non-existent property ‘padLevels’ of module exports inside circular dependency

找到了相关的解决方案是说这个错误是因为 Node.js 中存在循环模块依赖,导致在解析模块过程中访问了未定义的属性,node在高于node14以后就不支持循环依赖,所以会报错,如果切换node版本低于14或者12就不会有这个问题,但是,因为项目的版本是node16,所以切换版本是不可能的, 所以解决方案要么就是解决掉循环依赖的问题,要么就是换其他的持久化工具,综合条件下我选择了第二种,切换持久话工具,那就是pm2

PM2介绍

PM2 是一个守护进程管理工具,帮助您管理和守护您的应用程序。它以简单直观的 C​​LI 命令行方式进行工作。当然,pm2还有一个非常好用的功能就是开机自启动程序

1.安装pm2

上传文件到/home/tool/pm2 目录下,这个可以自己决定到那个目录,但是下面的路径需要和安装的路径保持一致,当然简单安装就是

npm install pm2 -g

但是问题就是重启之后pm2的环境变量就不见了,当然也有可能是个例,所以我选择了下面的安装方式

解压

tar -xvf pm2-5.2.2.tar
```3D&pos_id=img-Pg1mWqtc-1693447847522)创建软连接```javascript
ln -s /home/tool/pm2/pm2-5.2.2/bin/pm2 /usr/local/bin/pm2

2.执行pm2查看输出

安装完成后,在任何地方输入pm2会打印下面的信息

pm2

pm2执行

3.在程序的根目录下执行

cd  /home/20230809

启动程序

pm2 start ./src/app.js --silent       //--silent表示不需要日志,但是还是可以看到日志,奇怪

在这里插入图片描述

然后执行 ,看到status为 online表示当前为在线

 pm2 ls

前台访问是正常的
在这里插入图片描述

常用维护命令:

停止所有的程序:

pm2 stop all

重新启动所有应用:

pm2 restart all

查看日志:

pm2 logs

在这里插入图片描述

更多的功能请访问官网了解

pm2中文官网

安装包地址

链接: https://pan.baidu.com/s/1XbeL48bGgR2oM14Uc9VCKw

提取码: xxxq

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/60878.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于RabbitMQ的模拟消息队列需求文档

文章目录 一、项目背景二、需求分析1.核心概念2.BrokerServer核心组件3.核心API4.交换机类型5.持久化6.网络通信7.消息应答 三、消息队列模块划分 一、项目背景 什么是消息队列? 消息队列就是,基于阻塞队列,封装成一个独立的服务器程序&#…

Nginx百科之gzip压缩、黑白名单、防盗链、零拷贝、跨域、双机热备

引言 早期的业务都是基于单体节点部署,由于前期访问流量不大,因此单体结构也可满足需求,但随着业务增长,流量也越来越大,那么最终单台服务器受到的访问压力也会逐步增高。时间一长,单台服务器性能无法跟上业…

three.js渲染带动画的glb文件

1. 准备工作 将下列文件在three.js的包中找到,注意的是我这里使用的是模块化版本的,这里不知道模块化的,可以先去看一下es6的模块化。 控制器: OrbitControls.js 加载器:GLTFLoader.js 材质: RoomEnvironm…

数据时代的必备利器:数据可视化工具的崭新价值

在当今信息时代,数据扮演着越来越重要的角色,而数据的可视化呈现正是一种强大的工具,能够帮助我们更好地理解和利用这些数据。虽然Excel和PPT在处理数据方面有着不可否认的作用,但在处理大规模、复杂数据时,数据可视化…

微信小程序 基于Android的美容理发师预约管理系统

,本系统主要根据管理员、用户及理发师的实际需要,方便用户利用互联网实现对商品信息进行立即订购,同时让管理者可以通过这个系统对用户实际需求以及各信息进行管理。设计该系统主要目的是为了方便用户、理发师可以有一个非常好的平台体验&…

文心一言 VS 讯飞星火 VS chatgpt (84)-- 算法导论8.2 1题

一、用go语言,参照图8-2 的方法,说明 COUNTING-SORT 在数组 A(6,0,2,0,1,3,4,6,1,3,2)上的操作过程。 文心一言: Counti…

现货黄金走势图中的止盈点

对平仓时机的把握能力,是衡量现货黄金投资者水平的重要标志,止盈点设置得是否合理,在行情兑现的时候能否及时地离场,是事关投资者账户浮盈最终能否落袋为安的“头等大事”,要在现货黄金走势图中把握止盈点,…

Linux-安装redis6.2.1及主备复制模式(replication)

Linux-安装redis6.2.1 下载redis6.2.1资源上传至安装目录解压及编译解压修改名称编译 修改配置文件主节点从节点 启动及测试启动主节点从节点 测试 下载redis6.2.1资源 地址》https://redis.io/download/ 上传至安装目录 例:/data/replication/ 解压及编译 解…

【kubernetes系列】Calico原理及配置

概述 Calico是针对容器,虚拟机和基于主机的本机工作负载的开源网络和网络安全解决方案。 Calico支持广泛的平台,包括Kubernetes,OpenShift,Docker EE,OpenStack和裸机服务。 Calico在每个计算节点都利用Linux Kernel实…

DP4863 国产双声道音频功率放大器芯片

产品概述: DP4863 电路是一种双声道桥接音频功率放大器。在 5 V 电源电压下,它能向 4 Ω 负载提供 2.2 W 的输出功率,或向 3 Ω 负载提供 2.5 W的输出功率,THD N 小于 1 %。此外,它还具有耳机输入端,可驱…

《Go 语言第一课》课程学习笔记(十四)

接口 认识接口类型 接口类型是由 type 和 interface 关键字定义的一组方法集合,其中,方法集合唯一确定了这个接口类型所表示的接口。type MyInterface interface {M1(int) errorM2(io.Writer, ...string) }我们在接口类型的方法集合中声明的方法&#…

博士后申请有哪些技巧?

在博士后申请过程中,有一些关键的技巧可以帮助申请者提高成功的机会。以下是知识人网小编的一些建议: 1.精选合适的导师和研究课题:选择与自己研究方向相关且感兴趣的导师和课题非常重要。导师的声誉、研究成果和合作风格都会影响你的博士后经…

智慧工地源码带开发手册文档 app 数据大屏、硬件对接、萤石云

智慧工地解决方案依托计算机技术、物联网、云计算、大数据、人工智能、VR、AR等技术相结合,为工程项目管理提供先进技术手段,构建工地现场智能监控和控制体系,弥补传统方法在监管中的缺陷,最终实现项目对人、机、料、法、环的全方…

黑马程序员上课笔记 P2 JAVA 前置课CMD的使用

引入: 一、人机交互 人机交互的故事: 计算机刚出现的时候的三个特点,占地广 造价高 耗电多 故事: 在计算机的历史中,人机交互(Human-Computer Interaction,简称HCI)一直在不断地…

ExpressLRS开源之RC链路性能测试

ExpressLRS开源之RC链路性能测试 1. 源由2. 分析3. 测试方案4. 测试设计4.1 校准测试4.2 实验室测试4.3 拉距测试4.4 遮挡测试 5. 总结6. 参考资料 1. 源由 基于ExpressLRS开源基本调试验证方法,对RC链路性能进行简单的性能测试。 修改设计总能够满足合理的需求&a…

CA证书颁发机构服务器

目录 一、CA证书颁发机构是什么? 二、数字证书可以干什么? 三、PKI:即公钥加密体系(public key cryptography) 四、CA在网络中的工作流程及原理(以网站为例) 五、HTTPS 的工作原理 六、CA私有证…

xml

1.xml 1.1概述【理解】 万维网联盟(W3C) 万维网联盟(W3C)创建于1994年,又称W3C理事会。1994年10月在麻省理工学院计算机科学实验室成立。 建立者: Tim Berners-Lee (蒂姆伯纳斯李)。 是Web技术领域最具权威和影响力的国际中立性技术标准机构。 到目前为…

哪里可以找到优质的文章?

我认为中外科技内容过去主要是“信息差”,即人们可以直接从国外文章中摄取信息并直接实践,谁快谁赢。 而现在主要是“观点差”,国内科技相关的理论和评论文章的数量和质量都还比较弱。 所以,优质文章建议多找外文。 参考风险投资人…

IBM Spectrum LSF Explorer 为要求苛刻的分布式和任务关键型高性能技术计算环境提供强大的工作负载管理

IBM Spectrum LSF Explorer 适用于 IBM Spectrum LSF 集群的强大、轻量级报告解决方案 亮点 ● 允许不同的业务和技术用户使用单一解决方案快速创建和查看报表和仪表板 ● 利用可扩展的库提供预构建的报告 ● 自定义并生成性能、工作负载和资源使用情况的报…

自动驾驶和辅助驾驶系统的概念性架构(一)

摘要: 本文主要介绍包括功能模块图,涵盖了底层计算单元、示例工作负载和行业标准。 前言 本文档参考自动驾驶计算联盟(Autonomous Vehicle Computing Consortium)关于自动驾驶和辅助驾驶计算系统的概念系统架构。 该架构旨在与SAE L1-L5级别的自动驾驶保…