流浪汉上的PM2 - 在安装共享文件夹后启动应用程序

时间:2016-07-05 11:32:50

标签: node.js vagrant pm2

如何在安装共享目录后设置PM2启动应用程序?默认情况下pm2 startup添加脚本,尝试在操作系统启动后立即运行脚本,这会导致程序错误(因为该文件夹尚未安装到该时间)。

1 个答案:

答案 0 :(得分:5)

您可以在Vagrantfile中添加以下行

config.vm.provision :shell, :inline => "pm2 start /vagrant/project/server/index.js && pm2 startup", :run => 'always', privileged: false

阅读shell provisioning

  
      
  • inline(string) - 指定要在远程计算机上执行的内联shell命令。
  •   

当您在框中输入命令行时,您将在此处输入命令行

  
      
  • privileged(boolean) - 指定是否以特权用户身份执行shell脚本(sudo)。默认情况下,这是“true”。
  •   

在您的情况下,设置为false,以便流浪的用户将运行此命令

  

默认情况下,除非设置vagrant destroy标志,否则配置程序仅在上一次--provision以来的第一个流浪者期间运行一次。

     

您可以选择将配置程序配置为在每个upreload上运行。只有在明确指定--no-provision标志时才会运行它们。为此,请将run选项设置为“始终”

设置为always,以便pm2将在您启动虚拟机时随时启动

如果你想运行多个命令,你也可以像

一样编写它
config.vm.provision "shell", run: "always", privileged: false, inline: <<-SHELL
    pm2 start /vagrant/project/server/index.js
    pm2 startup
    .... any command that you want to execute ....
  SHELL