我正在使用Vagrant 1.8.1
和VirtualBox 5.0.16r105871
并配置ubuntu/wily64
框。我在访客上安装了节点4.4.3
。我使用以下过程来启动并运行服务器。
cd /vagrant
npm install
npm install -g pm2
pm2 startup ubuntu
sudo su -c "env PATH=$PATH:/usr/bin pm2 startup ubuntu -u vagrant"
pm2 start process.json
pm2 save
我尝试使用--watch
选项启动PM2但是没有用。
我尝试使用PM2进程配置,但只有在客户机器上触摸文件时它才有效。
{
"apps": [{
"name": "mean-boilerplate",
"script": "index.js",
"watch": ["index.js"],
"env": {
"NODE_ENV": "development",
}
}]
}
有关如何使用PM2的任何想法?或者我应该使用不同的方法/模块。
答案 0 :(得分:0)
当我需要观看驻留在主机上但挂载在Vagrant VM(如共享目录)中的文件夹时,usePolling选项使监视功能对我有用。尝试将它添加到您的JSON配置中:
{
"apps": [{
"name": "mean-boilerplate",
"script": "index.js",
"watch" : ["index.js"],
"watch_options" : {"usePolling": true},
"env": {
"NODE_ENV": "development",
}
}]
}
答案 1 :(得分:0)
我也遇到过类似的问题,但是现在我已经解决了。
我正在使用vagrant 2.2.0并使用ubuntu / xenial64框(当前版本为16.04)。
起初,我尝试添加此选项
"watch_options" : {"usePolling": true},
还有更多与轮询时间有关的选项(间隔和binaryInterval)(参考:https://github.com/paulmillr/chokidar#api)。
由于默认间隔太快,有人建议设置更大的间隔。
但是,即使我设置了足够的间隔,pm2也会消耗过多的计算机资源,并且计算机风扇也会节流。
已经有问题https://github.com/Unitech/pm2/issues/1314
我不知道为什么usePolling效率低下。但是正如作者所说,usePolling 通过网络监视文件,我想这可能是问题的原因。
因此,我放弃了usePolling选项,并找到了另一种通知文件从主机更改为客户机的方法。
我找到的解决方案是使用'vagrant-fsnotify'插件。 https://github.com/adrienkohlbecker/vagrant-fsnotify
自述文件页面很好地描述了插件的用法。
结果是?成功了我没有监视硬件资源,但是由于我的粉丝沉默,我认为它已解决。