PM2 如何自定义启动命令

阅读时长 4 分钟读完

什么是 PM2

PM2 是一款常用的 Node.js 进程管理工具,它能够帮助我们轻松运行、监控和部署 Node.js 应用程序。PM2 具有进程守护、内存泄漏检测、自动重启功能,是我们在实际项目开发中经常使用的工具之一。

如何自定义启动命令

在默认情况下,PM2 会通过 pm2 start app.js 的形式启动我们的应用程序。但有时候我们可能需要自定义启动命令,这里我们介绍如何自定义启动命令。

方法一

我们可以在启动命令中加入参数来实现自定义。例如:

这里的 -- myarg1=myvalue 就是我们自定义的启动参数。我们也可以多次添加参数,每个参数以空格分隔。

方法二

我们也可以使用 PM2 的 ecosystem.config.js 文件,通过配置文件的方式来实现自定义启动命令。

在项目的根目录中新建 ecosystem.config.js 文件,内容如下:

-- -------------------- ---- -------
-------------- - -
  ----- -
    -
      ----- --------
      ------- ---------
      ----- --- ---------------
    -
  -
-

在上面的配置文件中,我们将 args 属性设置为 -- myarg1=myvalue,就可以实现自定义启动命令的功能。

需要注意的是,启动命令中的参数需要加上 -- 前缀。

示例代码

为了更好地说明两种方法的使用,我们现在来演示一下如何在 PM2 中自定义启动命令。

首先,我们搭建一个简单的 Node.js Web 项目,文件结构如下:

-- -------------------- ---- -------
---------
--- ------------
--- --------
--- ------
-   --- ----------
-   --- ---------
--- -----
    --- ----------
    --- ---------

接下来我们需要安装依赖:

然后我们编写 index.js 文件:

-- -------------------- ---- -------
----- ------- - ------------------
----- --- - ---------

------------- -------- ------
---------------- ----------

------------------ -------------------------

------------ ----- ---- -- -
  -------------------
--

---------------- -- -- -
  ---------------------- -- ---- ------
--

这是一个简单的 Express 应用程序,它将 public 文件夹下的静态文件服务到 http://localhost:3000/static 中,同时在 http://localhost:3000 上渲染 views/index.ejs 模板文件。

在运行项目之前,我们需要先使用 PM2 安装项目依赖:

接下来,我们就可以使用 pm2 start 命令启动项目:

这里我们使用 --port=3000 参数来指定监听端口。现在我们可以访问 http://localhost:3000

我们还可以通过 ecosystem.config.js 文件来设置启动命令的参数,文件内容如下:

-- -------------------- ---- -------
-------------- - -
  ----- -
    -
      ----- --------
      ------- -----------
      ----- -------------
    -
  -
-

然后我们就可以使用 pm2 start 命令来启动项目了:

这里的 ecosystem.config.js 文件中,我们指定了 args 属性为 --port=3000,就可以指定监听的端口了。

总结

本文介绍了 PM2 自定义启动命令的两种方法,通过这两种方法我们可以在项目开发和部署中更加灵活地使用 PM2 进行管理和维护。如果你还没有使用 PM2,建议在实际项目开发中使用一下,相信你一定会爱上它的方便和实用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6459b3f6968c7c53b0bce374

纠错
反馈