Vagrant 如何让PM2监测流浪汉的变化';谁的共享目录?
我正在使用Vagrant 如何让PM2监测流浪汉的变化';谁的共享目录?,vagrant,pm2,Vagrant,Pm2,我正在使用1.8.1和5.0.16r105871并设置一个ubuntu/wily64框。我在来宾服务器上安装了Node4.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 我试着用--
1.8.1
和5.0.16r105871
并设置一个ubuntu/wily64
框。我在来宾服务器上安装了Node4.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一起工作?或者我应该使用不同的方法/模块。当我需要监视驻留在主机上但装载在Vagrant VM(如共享目录)中的文件夹时,usePolling选项使监视功能对我有效。尝试这样将其添加到JSON配置中:
{
"apps": [{
"name": "mean-boilerplate",
"script": "index.js",
"watch" : ["index.js"],
"watch_options" : {"usePolling": true},
"env": {
"NODE_ENV": "development",
}
}]
}
我也有过类似的问题,但现在我已经解决了 我使用的是vagrant 2.2.0和ubuntu/xenial64-box(当前版本是16.04) 起初,我尝试添加此选项
"watch_options" : {"usePolling": true},
还有更多与轮询时间(interval和binaryInterval)相关的选项(参考:)
由于默认间隔太快,有人建议设置更宽松的间隔
但是,即使我设置了足够的时间间隔,pm2也会消耗太多的计算机资源和我的计算机风扇节流
已经有问题了
我不知道为什么usePolling效率低下。但正如作者所说,usePolling通过网络观看文件,我想这就是问题的原因
因此,我放弃了usePolling选项,并找到另一种方法来通知从主机到来宾机的文件更改
我找到的解决方案是,使用'vagrant-fsnotify'插件
插件的用法在自述页面中有详细描述
结果是什么?成功的我没有监控硬件资源,但由于我的风扇静音,我认为问题解决了