【发布时间】:2016-07-06 03:28:07
【问题描述】:
如何设置 PM2 在共享目录挂载后启动应用程序?默认情况下pm2 startup 添加脚本,该脚本会在操作系统启动后立即运行脚本,这会导致程序错误(因为此时文件夹尚未挂载)。
【问题讨论】:
-
如何启动您的应用程序?默认情况下,如果您使用 vagrant 的任何配置,它们将在共享文件夹挂载后运行,您可以从运行
vagrant up的输出中看到,您将在任何配置之前看到 Mounting shared folder...步骤 -
pm2 日志中的应用程序有以下错误:
index-0 (err): chdir(): No such file or directory出现在 vagrant boot 上,所以我猜测它是由未安装的文件夹引起的。在手动pm2 stop和pm2 start之后,它运行完美 -
你如何启动你的应用程序?你有初始化脚本吗,通过 vagrant provision ...
-
不,我没有。我正在使用 cd /vagrant/project/ && npm start (启动 /vagrant/project/server/index.js)手动启动应用程序。我通过命令设置了 pm2:
pm2 start /vagrant/project/server/index.js并使用了pm2 startup但结果在上面解释了 -
所以当您执行
cd /vagrant时,您指向的是一个共享文件夹,因此它已正确安装。问题不在于安装共享文件夹