1

我正在尝试将我的 Rails 应用程序部署到与 Debian 一起运行的新 VPS。我使用 Nginx 和 Phusion Passenger 作为我的服务器。

我已将 Node.js 安装为 JavaScript 运行时。可悲的是,我看到以下错误消息:

Fatal error in v8::V8::AddGCPrologueCallback()
V8 is no longer usable

编辑:

现在已修复。显然 gr security 导致了错误。

4

1 回答 1

0

问题发生在具有 grsecurity 和某些限制性规则的内核上。
node.js 需要在服务器不喜欢的某些内存区域执行代码。

您似乎需要为“节点”二进制文件切换两个标志。
此外,您可能需要为您的 ruby​​ 二进制文件切换它们。

开启 SEGMEXEC

 paxctl -S `which node` && paxctl -S `which ruby`

关闭 MPROTECT

 paxctl -m `which node` && paxctl -m `which ruby`

测试节点现在是否工作

 node -e "console.log(1+1);"


有趣的事实是,我现在可以关闭 SEGMEXEC 并且节点仍然可以工作:S ... 但是打开它似乎最初为我修复了它。如果它不起作用,请使用标志并尝试 node -e

祝你好运!
吉兹莫尔

于 2014-06-03T18:19:13.917 回答