具有多个参数的 PM2 启动脚本(服务)
PM2 start script with multiple arguments (serve)
我正在尝试 运行 serve frontend/dist -l 4000
来自 PM2。这应该在端口 4000 上为 Vue 应用程序提供服务。
在我的 ecosystem.config.js 中,我有:
{
name: 'parker-frontend',
max_restarts: 5,
script: 'serve',
args: 'frontend/dist -l 4000',
instances: 1,
},
但是当我执行 pm2 start
时,在日志中我有以下消息:
Exposing /var/lib/jenkins/workspace/parker/frontend/dist directory on port NaN
而如果我 运行 相同的命令:serve frontend/dist -l 4000
,它 运行 在端口 4000 上没问题。
在 运行 serve frontend/dist -l 5000
之后,我在 PM2 日志中收到一个错误。
在它的调用堆栈中我发现:
at Object.<anonymous> (/usr/lib/node_modules/pm2/lib/API/Serve.js:242:4)
注意路径:/usr/lib/node_modules/pm2/lib/API/Serve.js
在 pm2 本身中有 另一个称为 serve
的 命令是 运行 而不是正确的命令。这不是我之前安装的npm i -g serve
。这是由于 Node 包解析的工作方式 - 它首先优先考虑本地模块。
要使用全局安装的版本(正确的版本),您需要指定全局 serve
.
的确切路径
要在 Linux 上找到路径,您可以这样做:
$ which serve
/usr/local/bin/serve
然后把路径放在你的ecosystem.config.jsscript
属性.
最终工作ecosystem.config.js:
{
name: 'parker-frontend',
script: '/usr/local/bin/serve', //pm2 has it's own 'serve' which doesn't work, make sure to use global
args: 'frontend/dist -l 5000',
instances: 1,
},
```
我正在尝试 运行 serve frontend/dist -l 4000
来自 PM2。这应该在端口 4000 上为 Vue 应用程序提供服务。
在我的 ecosystem.config.js 中,我有:
{
name: 'parker-frontend',
max_restarts: 5,
script: 'serve',
args: 'frontend/dist -l 4000',
instances: 1,
},
但是当我执行 pm2 start
时,在日志中我有以下消息:
Exposing /var/lib/jenkins/workspace/parker/frontend/dist directory on port NaN
而如果我 运行 相同的命令:serve frontend/dist -l 4000
,它 运行 在端口 4000 上没问题。
在 运行 serve frontend/dist -l 5000
之后,我在 PM2 日志中收到一个错误。
在它的调用堆栈中我发现:
at Object.<anonymous> (/usr/lib/node_modules/pm2/lib/API/Serve.js:242:4)
注意路径:/usr/lib/node_modules/pm2/lib/API/Serve.js
在 pm2 本身中有 另一个称为 serve
的 命令是 运行 而不是正确的命令。这不是我之前安装的npm i -g serve
。这是由于 Node 包解析的工作方式 - 它首先优先考虑本地模块。
要使用全局安装的版本(正确的版本),您需要指定全局 serve
.
要在 Linux 上找到路径,您可以这样做:
$ which serve
/usr/local/bin/serve
然后把路径放在你的ecosystem.config.jsscript
属性.
最终工作ecosystem.config.js:
{
name: 'parker-frontend',
script: '/usr/local/bin/serve', //pm2 has it's own 'serve' which doesn't work, make sure to use global
args: 'frontend/dist -l 5000',
instances: 1,
},
```