Bui*_*er1 1 ubuntu puppet node.js vagrant puphpet
我使用Vagrant/Puppet(从puphpet.com生成)在Ubuntu环境中设置了node.js应用程序.我要将完成的包发送给某人,并希望node.js应用程序运行"vagrant up"为他们完成的那一刻(这样他们就不必费心通过ssh和运行命令连接) .
puphpet下载包包括一个文件夹/ puphpet/files/start-always和/ exec-always,我想知道我是否可以使用它们.
或者,如果我没有弄错,也可以在.Vagrantfile的末尾添加一些Ubuntu运行命令(只是不确定语法).
有人有这方面的经验吗?
解决方案:想出来.对于任何需要知道的人:创建一个文件/puphpet/files/exec-once(或你需要的文件夹/频率)调用run.sh(这些文件按字母顺序加载,所以如果你有多个文件,请正确命名你的文件).示例文件:
#!/bin/bash
sudo npm install pm2 -g --unsafe-perm 2&>1 >/dev/null
cd /var/www/app && sudo pm2 start app.js
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我正在安装一个名为"pm2"的npm模块(2&>1 >/dev/null将隐藏控制台和错误消息).此模块允许您将node.js应用程序作为服务运行.下一行我们必须cd进入app目录,然后从那里启动应用程序sudo pm2.
据说从这一点开始,node.js应用程序将自动运行/重启(包括应用程序崩溃或Ubuntu重启时),因此您不必多次运行此命令(因此/exec-once文件夹而不是exec-always,将运行每次调用"vagrant up",包括初始设置后的将来启动).
pm2还具有允许您监视文件夹中的更改的功能,以便在您开发时自动重新启动node.js应用程序.有关这些详细信息,请参阅pm2文档或pm2在ssh中键入.
| 归档时间: |
|
| 查看次数: |
1437 次 |
| 最近记录: |