ruby-on-rails - 无法使用 Nginx 部署 Passenger

标签 ruby-on-rails ruby nginx passenger

我一直在关注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/

相关文章:

git - 您如何使用 bitbucket 服务器支持 'go get'?

javascript - 使用 Firebase + AngularJS 进行聊天应用程序时出现嵌套节点问题

ruby-on-rails - Ruby on Rails 上 "Expected string default value for ..."的含义

Ruby:C类包含模块M;在 M 中包含模块 N 不会影响 C。什么给了?

javascript - 为什么我的表单没有提交我想要的内容?

Ruby - 找到哈希最大值的键

nginx - 如何使用golang lego let's encrypt client behind nginx?

ruby-on-rails - GitLab LDAP 次要策略

ruby-on-rails - 如何允许客户子域网站使用其自己的域

Nginx 在 5 MB 数据后截断响应