从 bat 文件启动节点和 pm2 应用程序

start node and pm2 application from bat file

我在节点上有一个聊天机器人应用程序 运行,感谢下午 2 点,我一直保持它处于活动状态。

我想改进启动应用程序的方式。不用从控制台 运行 启动命令,双击 .bat 文件会更好。

我正在尝试开发bat文件,但是我缺乏知识

非常感谢您的帮助。

@echo off
SET PM2_HOME=C:\Users\Usuario\.pm2
pm2 start C:\Users\Usuario\Desktop\ROBOTs\Chatbot SCTR\app.js
echo servicio ejecutado

我开发的这个bat文件不起作用。我知道我没有调用变量,因为我不知道如何包含它,因为我总是执行 pm2 start app.js 命令。

我的应用程序不使用 8080 等端口,因为同一个库允许我建立连接,并且我使用 pm 2 保持它始终处于活动状态。

将启动命令添加到您的 package.json 以使用 pm2 启动您的应用程序,然后使用您的 bat 文件将其直接指向 运行 npmyarn,无论你的默认包管理器是什么

编辑:

这里是 bash 中的脚本示例,但批处理的概念相同

#!/bin/bash

## detect operating system machine so we can setup some environment variables
UNAME="$(uname -s)"
case "${UNAME}" in
    Linux*)     OS='linux';;
    Darwin*)    OS='mac';;
    CYGWIN*)    OS='cygwin';;
    MINGW*)     OS='mingw';;
    *)          OS="UNKNOWN:${UNAME}"
esac

## if OS is Ubuntu (IE Production Box) set the path of variables
if [ $OS == 'linux' ]
then
  YARN=/usr/bin/yarn
  PM2=/usr/bin/pm2
fi
## if OS is Mac (IE Development Box) set the path of variables
if [ $OS == 'mac' ]
then
  YARN=/usr/local/bin/yarn
  PM2=/usr/local/bin/pm2
fi

## run the app
cd /var/www/application || exit
$YARN run productionStart

$PM2 save

exit $?

这是我们在 package.json

中使用的 mac/linux 上启动应用程序的代码行
"productionStart": "pm2 start ecosystem.config.js --env=production",

有关使用带有 pm2 的生态系统文件启动您的应用程序的更多信息,请参阅文档 here