如何在安装共享目录后设置PM2启动应用程序?默认情况下pm2 startup
添加脚本,尝试在操作系统启动后立即运行脚本,这会导致程序错误(因为该文件夹尚未安装到该时间)。
答案 0 :(得分:5)
您可以在Vagrantfile中添加以下行
config.vm.provision :shell, :inline => "pm2 start /vagrant/project/server/index.js && pm2 startup", :run => 'always', privileged: false
- inline(string) - 指定要在远程计算机上执行的内联shell命令。
当您在框中输入命令行时,您将在此处输入命令行
privileged
(boolean) - 指定是否以特权用户身份执行shell脚本(sudo)。默认情况下,这是“true”。
在您的情况下,设置为false
,以便流浪的用户将运行此命令
默认情况下,除非设置
vagrant destroy
标志,否则配置程序仅在上一次--provision
以来的第一个流浪者期间运行一次。您可以选择将配置程序配置为在每个
up
或reload
上运行。只有在明确指定--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