群晖wordpress端口无法登陆,seo基础理论,百度地图网页版,公众号开发者中心在哪最近有个后端项目#xff0c;用的是node#xff0c;在持久化的时候会挂掉#xff0c;详细了解到用的是nohup#xff0c;然后先详细了解了一下nohup nohup是一个Linux命令#xff0c;用于在系统后台不挂断地运行命令#xff0c;退出终端不会影响程序的运行1nohup的英文全称…最近有个后端项目用的是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 是一个守护进程管理工具帮助您管理和守护您的应用程序。它以简单直观的 CLI 命令行方式进行工作。当然pm2还有一个非常好用的功能就是开机自启动程序 1.安装pm2
上传文件到/home/tool/pm2 目录下这个可以自己决定到那个目录但是下面的路径需要和安装的路径保持一致当然简单安装就是
npm install pm2 -g但是问题就是重启之后pm2的环境变量就不见了当然也有可能是个例所以我选择了下面的安装方式
解压
tar -xvf pm2-5.2.2.tar
3Dpos_idimg-Pg1mWqtc-1693447847522)创建软连接javascript
ln -s /home/tool/pm2/pm2-5.2.2/bin/pm2 /usr/local/bin/pm22.执行pm2查看输出
安装完成后在任何地方输入pm2会打印下面的信息
pm23.在程序的根目录下执行
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