网站首页 > 文章中心 > 其它

linux的pm2命令的简单介绍

作者:小编 更新时间:2023-09-01 18:20:14 浏览量:301人看过

使用pm2启动SpringBoot应用稳定运行

内容如下:

{

"name": "yhtAdmin",

? "script": "java",

? "args": [

? ? ? "-jar",

? ? ? "background-0.0.1-SNAPSHOT.jar"

linux的pm2命令的简单介绍-图1

? ],

?"error_file":"./log/err.log",

? "out_file":"./log/out.log",

? "exec_interpreter": "",

? "exec_mode": "fork"

linux的pm2命令的简单介绍-图2

}

说明如下:

script 执行进程名称,本文为java

args 传给执行进程的参数,多个参数以数组单元分割

exec_interpreter NodeJs解析器,本文不适用

out_file为日志输出位置

exec_mode 执行模式[cluster|fork]这个针对NodeJs应用的配置,非NodeJs应用统一fork

PM2的基本使用

且能够负载均衡、能够帮助应用在崩溃后、指定时间(cluster model)和超出最大内存限制

等情况下实现自动重启.

查看版本好,确定是否安装成功

示例:

多个应用程序

启动第一个应用程序

启动第而个应用程序

启动是否能正常运行程序

我们发现两个进程都可以正常访问,我们会发现两个进程都叫app,甚至都不太好区分谁是谁

所以呢我们在启动程序的时候,可以自定义命名

上面土嘎嘎给出的例子源码中,两个进程都是同一个名字,都不太好区分,启动第三个程序时修改进程名称

结果:

现在可以停止进程

通过进程名关闭进程

通过进程id关闭进程

结果

all是关闭所有的进程

访问结果:

restart命令同时杀死并重启所有进程.短时间内服务不可用.生成环境推荐使用reload

重新启动所有进程,始终保持至少一个进程在运行

通过进程名删除进程

通过进程id删除进程

查看进程状态

查看进程日志

PM2 常用命令

linux上利用pm2和nginx部署项目

Introduce

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

nohup(不推荐使用)

作用:不挂断地运行命令.

启动后通过 ps -ef 可以查看进程和 pid,如果需要停止,输入

需要特别注意的是,退出远程时,要使用 exit 退出,直接关闭远程工具将会导致后台静默进程停止.

尽管nohup是内置工具,但万一服务抛异常,对外没有反应,表现为无端停止服务,对维护不友好.

其中 name 代表进程别名,script 代表需要执行的命令,env 是注入到服务中的变量.

最后修改 package.json 的 start 命令(项目为 express )为

停止或重启服务使用

自动启动

执行后会输出

执行后输出

再也不用担心重启后服务不起了.

nginx

作为一个高性能的http和反向代理服务,在linux上不免要选用它.

安装教程

代理教程

常规配置

代理配置

上面就是linux上部署项目的教程(后续介绍 docker部署 ).

Linux shell脚本按日期 切割pm2日志

首先在输入命令echo $PATH 拿到当前系统环境变量

OUTPATH=/home/cutLogsDate

mkdir -p $OUTPATH

INPUTPATH=$CURPATH/logs

reloadProcessLogs(){

logFilesGame="${INPUTPATH}/$1"

logOfLastDay=$OUTPATH/$yesterday.log

mv $logFilesGame $logOfLastDay

touch $logFilesGame

echo "切割$1成功"

reloadProcessLogs 'game-out-0.log' 'game_out'

linux如何后台运行node服务?

①找到全局环境PATH路径

输入命令: echo $PATH

回车后: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

你的路径和我的可能不一样,但没关系,你可以选择任何一个以:隔开的路径做为系统环境路径,我通常会选 /usr/local/bin

就重要的一步要开始了,睁大你的双眼.

OK,搞定,此时此刻呢验证一把...

回车...

以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章