我正在构建一个简单的暂存CI环境,我通过环境变量APP_PATH定义可运行的Node应用程序的路径 .
是否可以通过遵循APP_PATH变量中的路径告诉进程配置文件中的PM2查找启动脚本?
像这样:
{
"apps": [
{
"name": "my_app",
"script": "$APP_PATH/app.js"
}
]
}
目前,我在启动上述配置时从PM2收到 [PM2][ERROR] script not found :
消息 .
In a nutshell: PM2无法解析 script
属性中定义的env var . 有没有办法克服这个问题?
1 回答
如果你需要采用相同的方法 . 按照这个 .
在根目录之外或任何需要的位置创建.json文件 .
然后使用
pm2 start servers.json
运行这将启动带有提到的名称和实例的两个应用程序 .
要么
使用最新版本的PM2,您无需编写任何脚本 . 只需执行一些命令即可 .
第1步:首先根据需要创建pm2实例,就像现在需要运行的许多实例或需要运行多少个不同的服务器一样 .
我的低于
应用程序启动并按此列出后 .
第2步:输入
pm2 startup
. 然后您将看到pm2自动生成的命令,它可以帮助您将其创建为服务 .第3步:您将看到需要以灰色阴影运行的命令 . 复制并以root用户身份运行它 .
一旦你运行该命令,你将看到如下结果 .
第4步:运行
pm2 save
所以当前的pm2进程列表将保存为启动脚本 .而已..
通过重新启动服务器并使用
pm2 ls
或pm2 status
进行检查来测试它 .如果您想再次更新pm2进程列表,请使用
pm2 update
这将获取当前进程列表并更新启动脚本 .希望这可以帮助!!!