情况:
我想在我的vps ubuntu服务器上运行一些应用程序进行爬行测试。
我的应用程序使用来自 'atmosphere' 的 meteor-router
和 mrt
包管理器。
在我的本地mac os x 10.8上,使用brew
安装的phantomjs一切都很好。通过在url末尾添加
http://sample.com/?_escaped_fragment_=
我可以得到我的页面的快照。
问题:
让我们在我的ubuntu vps服务器上尝试相同的操作,有两种方法:
1)将未打包的应用程序复制到服务器并使用mrt run
命令运行它:这种方法不稳定。有时会正常渲染,但是有时我的动态内容为空,就像我的数据库是空的。
2)将未打包的应用程序复制到服务器并将其mrt bundle fname.tgz
打包,然后解压缩.tgz并使用node运行其main.js
。这种方式 spiderable 完全错误。每次尝试时我都得到空白而不是动态数据。
我的想法:
我的ubuntu机器的内存和处理器资源比我的本地机器要少得多。这就是为什么生成动态内容需要更长的时间,但phantom认为页面已经完成并在meteor渲染之前进行了快照。
有什么建议吗?