我一直在关注this tutorial使用Nginx部署Phusion Passenger,完成后,打开IP地址为(http://123.123.123.123)的URL仍然报错
当我从 nginx 查看 error.log 时,我看到了这个:
http://pastie.org/pastes/10358955/text?key=s16vrhu2cofrian1hluwa
从那个日志中,我注意到了这一点:
Warning: compilation didn't succeed. To learn why, read this file: App 15789 stderr: /tmp/passenger_native_support-1g8vwu3.log
所以这是该文件的输出:
http://pastie.org/pastes/10358951/text
这里有什么问题?为什么我的 Rails 应用程序不工作?
最佳答案
实际上,问题不在于缺少 Javascript 运行时。虽然错误消息确实提到“找不到 JavaScript 运行时”,但实际问题是您的 PATH 环境变量设置不正确。
指标就在这两条看似不重要的错误信息中:
App 15789 stderr: sh: 1:
App 15789 stderr: env: not found
env
是一个常见的 Unix 命令,位于/usr/bin 中。 Node.js 以及几乎所有其他东西也位于/usr/bin 中。如果系统找不到 env
那么这意味着您的 PATH 环境变量设置不正确。
设置不正确的原因,很可能是因为 Nginx nuked your environment variables .尝试将此添加到您的 Nginx 配置文件中:
# Don't nuke PATH; preserve original value.
env PATH;
关于ruby-on-rails - 无法使用 Nginx 部署 Passenger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32071190/