【发布时间】:2013-03-12 18:44:05
【问题描述】:
我捆绑了我的应用程序并将其放到我的服务器上。我正在通过 upstart 运行应用程序:
exec sudo -u myuser PORT=3005 MONGO_URL=mongodb://localhost:27017/ms ROOT_URL=http://www.example.com/ /usr/bin/node /var/www/priv/example.com/bundle/main.js >> $
重要的部分(我认为)是:
exec sudo -u myuser
当我通过以下方式卷曲我的应用程序时:
curl http://www.example.com/?_escaped_fragment_=
我得到一个空的身体。我的日志文件说:
spiderable: phantomjs failed: { [Error: Command failed: /bin/bash: /root/.bashrc: Permission denied
Can't open '/dev/stdin'
] killed: false, code: 255, signal: null }
stderr: /bin/bash: /root/.bashrc: Permission denied
Can't open '/dev/stdin'
我在 /root/.bashrc 上执行了 chmod 777 但没有任何成功。如果我将/bin/bash /root/.bashrc 设置为“myuser”,我也会被拒绝。
谁能告诉我如何设置权限,以便 phantomjs 可以做它必须做的事情?我可以指定 ~/.bashrc 在任何地方使用吗?我真的很想在谷歌上看到我的东西:-)
非常感谢! 曼努埃尔
更新:
我通过 npm 安装了 phantom.js 1.8.2。 以 root 身份运行应用程序没有帮助。那么错误是:
spiderable: phantomjs failed: { [Error: Command failed: Can't open '/dev/stdin' ] killed: false, code: 255, signal: null } stderr: Can't open '/dev/stdin'
我发现,它似乎是导致问题的包。我在这里打开了一个问题: github.com/alanning/meteor-roles/issues/3
【问题讨论】:
-
更新:尝试以 root 身份启动应用程序。日志说:spiderable: phantomjs failed: { [Error: Command failed: Can't open '/dev/stdin' ] 杀死:false,代码:255,信号:null } stderr: Can't open '/dev/stdin'
-
不确定这是否是问题所在,但您应该确保服务器上的 phantomjs 版本是最新版本。 1.4 及以下版本需要 X 窗口服务器,而 Ubuntu 的 apt 存储库仍然有 1.4。这是 phantomjs 常见问题解答,对此进行了一些解释:phantomjs.org/faq.html。
-
哦,还要确保你已经安装了phantomjs! Meteor 的可爬取软件包不会为您安装它。我为此困惑了好一阵子。
-
嘿 zorlak,我安装了 phantom.js 版本 1.8.2。我发现问题似乎出在我使用的包中。流星角色。我在这里打开了一个问题:github.com/alanning/meteor-roles/issues/3
标签: meteor