pm2 start命令进阶详解

摘要:
pm2start众多方式本文中将重点介绍pm2start这个命令。对这个命令稍稍变形,就是pm2的start命令了。这里通俗的理解一下,就是把原本传递给某个程序的参数在pm2start里面用--来分割一下即可。如果我们再进一步变化,最简单的最好用的命令,是下面的这个,推荐大家使用:pm2startnpm--watch--name--runstart您自行替换为您的任务名称即可。

在node的世界里面,并不存在nginx或者apache,甚至tomcat这种东东。一个node,本身就用几行代码,就可以启动个server进程,监听个端口,为大家提供web服务。这和传统的网站代码的部署,是极为不一致的。

pm2 start 众多方式

本文中将重点介绍pm2 start这个命令。我们将使用它来启动不同的网站。因为node的世界里面,百花齐放的太厉害。启动一个网站的办法,也会有很多种。但是一般都可以用pm2 start来启动。只不过具体的参数会有所不同。

pm2 start <js文件路径>.js
pm2 start <json描述文件路径>.json
pm2 start <python文件路径>.py --interpreter python
pm2 start <sh文件路径>.sh --interpreter bash
pm2 start ./node_modules/<某模块名称>/<模块主文件路径>.js
pm2 start <某种方式> -- --param_name param_value
pm2 start npm --start
pm2 start npm -- run <scriptname>pm2 start yarn --start
pm2 start yarn -- run <scriptname>pm2 start <某种方式> --watch

相比较官方推荐的运行某某js的方式,最容易的配置方式,其实是:

pm2 start npm -- run <scriptname>

上述命令,就相当于 npm run <scriptname>,而我们平时启动node网站代码的时候,就是用这种方式启动的。对这个命令稍稍变形,就是pm2的start命令了。

pm2 start命令进阶详解第1张

pm2 start命令进阶详解第2张

pm2 start命令进阶详解第3张

pm2 start命令进阶详解第4张

这里通俗的理解一下,就是把原本传递给某个程序的参数在pm2 start里面用--来分割一下即可。

pm2 start命令进阶详解第5张

如果我们再进一步变化,最简单的最好用的命令,是下面的这个,推荐大家使用:

pm2 start npm --watch --name <taskname> -- run start

您自行替换<taskname>为您的任务名称即可。当然,如果您就一个任务的话,这个--name <taskname>也是不需要的。

pm2 start命令进阶详解第6张

而对于在package.json里面的script里面,如果能找到某个类似app.js的话,那么也可以使用官方推荐的方式。例如:

pm2 start server/app.js      //相当于 node server/app.js

甚至我们可以把配置项放在json文件里面,我们去执行这个json任务描述文件:

test.json

{
  "apps":
  {
    "name": "test",
    "cwd": "/yourpath/here/",
    "script": "./test.sh",
    "exec_interpreter": "bash",
    "min_uptime": "60s",
    "max_restarts": 30,
    "exec_mode" : "cluster_mode",
    "error_file" : "./test-err.log",
    "out_file": "./test-out.log",
    "pid_file": "./test.pid",
    "watch": false}
}

pm2 start命令进阶详解第7张

这个json文件里面,对这个pm2任务进行了详细描述,是pm2 start这个命令的终极进化豪华版本。

免责声明:文章转载自《pm2 start命令进阶详解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇一个NHibernate的BUGk8s-更换证书(apiserver新添加了VIP)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

node程序的部署神器pm2的基本使用

pm2是从nodejs衍生出来的服务器进程管理工具,可以做到开机就启动nodejs。当然了,也可以用nohup来做这件事情的。 前言 众所周知,Node.js运行在Chrome的JavaScript运行时平台上,我们把该平台优雅地称之为V8引擎。不论是V8引擎,还是之后的Node.js,都是以单线程的方式运行的,因此,在多核心处理器的系统中并不能发挥其最大...

pm2常用命令

pm2是node进程管理器,用于在服务器上搭建node服务。整理了下常用的一些命令 安装: npm install pm2 -g //安装pm2 pm2 update // 更新pm2 pm2 uninstall pm2 //移除pm2 开启关闭: pm2 start server.js //启动server.js进程 pm2 start server....

docker环境中安装node、pm2,映射项目文件守护程序

1.docker安装完成后,获取对应版本,可自定义node版本,默认为最新版本。 git pull node:<version> 2.编写Dockerfile,在文件中添加安装pm2命令。建议新建一个单独docker的文件,文件中存放Dockerfile,否则在build镜像的时候会将整个目录下的文件都发送至docker。 FROM node...

在Linux系统配置Nodejs环境的最简单步骤,部署多个thinkjs(nodejs)项目

发现一台服务器部署管理多个nodejs服务,可以采用二级域名weekly.mwcxs.top,也可以采用固定后缀www.mwcxs.top/weekly的方式,本文先从固定后缀的方式部署管理多个nodejs服务。 以下详细的介绍,以周报企业管理系统为例进行部署,欢迎fork和start,源码地址:https://github.com/saucxs/week...

nuxtjs服务端部署流程

最近做了一个公司的官网项目,需要做服务端部署,延续了之前用的nuxt框架,但是又需要调用接口,所以不能像之前那样通过   npm generate   复制代码 生成静态文件来部署,搞了半天才搞好,废话不多说,下面看流程。 #前提:服务器是linux系统。 #准备:需要在服务器上安装 node,pm2,做法请自己百度。 一 打包本地文件 通...

pm2用法详解+ecosystem.config

对于后台进程的管理,常用的工具是crontab,可用于两种场景:定时任务和常驻脚本。关于常驻脚本,今天介绍一款更好用的工具:pm2,基于nodejs开发的进程管理器,适用于后台常驻脚本管理,同时对node网络应用有自建负载均衡功能。官方的说法,pm2是一个带有负载均衡功能的Node应用的进程管理器,个人认为,并不准确,因为pm2支持多种语言,只是对于除no...