Node.js:使用 pm2 部署应用程序

阅读时长 4 分钟读完

在前端开发中,部署是不可避免的一个环节。而部署过程往往是相当繁琐和复杂的。针对这个问题,pm2 应运而生。pm2 是一款基于 Node.js 的进程管理工具,它为我们提供了开箱即用的服务,使得应用的部署变得轻松而且可靠。

pm2 的安装及基本使用

安装 pm2

  • 全局安装 pm2:npm install -g pm2
  • 查看当前 pm2 的版本:pm2 -v

基本使用

要启动应用程序,只需要在终端中运行以下命令:pm2 start app.js,其中 app.js 指的是应用程序的文件名。如果应用程序的文件名为 index.js,那么直接执行 pm2 start 就可以了。

如果你的应用程序是由多个文件组成的,你可以把前两个命令改成:pm2 start my-app.js --name "my-app"

快速重启和停止应用程序有两种方法:

  • 重启命令:pm2 restart app_name
  • 停止命令:pm2 stop app_name或者pm2 kill

查看运行状态

  • 查看当前正在运行的应用程序列表:pm2 list
  • 查看应用程序的详细信息:pm2 show app_name
  • 监视应用程序运行状态:pm2 monit

更多的使用指导请参考 pm2 的官方文档:http://pm2.keymetrics.io/docs/usage/quick-start/

使用 ecosystem.config.js 文件

在运行 pm2 的时候,我们可以使用 ecosystem.config.js 文件来配置应用程序的启动方式。该文件允许我们设置环境变量,以及定义应用程序的数量、日志和监听端口等信息。

下面就是一个示例的 ecosystem.config.js 文件:

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

  ------ - -
    ---------- - -
      ---- - ---------------
      ---- - ------------------
      ---  - ----------------
      ---- - -----------------
      ---- - ----------------------
      ------------- - ---- ------- -- --- ------ ------------------- ----- -----------
    -
  -
--
展开代码

简单解释一下:

  • name:应用程序的名称。
  • script: 应用程序的启动文件。
  • envenv_production:设置环境变量。
  • deploy: 部署部分的配置信息。

使用 pm2 部署应用程序

我们可以通过以下步骤来使用 pm2 部署我们的应用程序:

  1. 在远程服务器上创建一个文件夹来存放应用程序文件。
  2. 在该文件夹中使用 Git 初始化一个空的仓库。
  3. 将应用程序的文件打包成一个 tar 包,并上传至服务器。
  4. 解压上传的 tar 包。
  5. 安装依赖并启动应用程序。

在这个过程中,首先需要在 Git 中进行配置。Git 是一个分布式的版本控制系统,我们需要通过 Git 将本地代码库与远程服务器上的代码库进行同步。这个过程中需要使用 Git 的 push 和 pull 命令,因此需要先配置 SSH 密钥。

步骤

  1. 在服务器上创建一个新的目录,例如:/var/www/your-app
  2. 在该目录下使用 Git 初始化一个新的仓库:git init
  3. 在本地使用命令:tar czvf your-app.tar.gz *,将当前目录中的所有文件打包成一个名为 your-app.tar.gz 的压缩文件。
  4. 上传压缩文件到服务器的 /var/www/your-app 目录下。
  5. 将压缩文件解压缩:tar xzvf your-app.tar.gz
  6. 安装依赖:npm install --production
  7. 启动应用程序:pm2 start app.js

在进行以上操作时,我们可以直接在服务器上操作,也可以通过本地终端连接到服务器上进行。

使用 pm2 部署应用程序十分方便,而且可以大大减少部署的时间和难度。建议提前学习 pm2 的用法,以便在开发过程中能够快速、高效地部署我们的应用程序。

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

纠错
反馈

纠错反馈