我一直在跟踪本教程,使用Nginx部署Phusion旅客,在完成之后,当我打开带有IP地址(http://123.123.123.123)的URL时仍然会出现错误。
当我从nginx观看error.log时,我看到了以下内容:
http://pastie.org/pastes/10358955/text?key=s16vrhu2cofrian1hluwa
从日志中,我注意到:
警告:编译没有成功。要了解原因,请阅读此文件: App 15789 stderr: /tmp/1g8vwu3.log
这是该文件的输出:
http://pastie.org/pastes/10358951/text
这里有什么问题?为什么我的rails应用程序不能工作?
发布于 2015-08-18 11:33:34
您需要安装javascript运行时。最简单的解决方案是将therubyracer添加到Gemfile中。
# See https://github.com/rails/execjs#readme for more supported runtimes
gem 'therubyracer', platforms: :ruby您还需要根据日志安装curl或wget。
发布于 2015-08-18 16:54:01
实际上,问题不在于缺乏Javascript运行时。虽然错误消息确实提到“无法找到JavaScript运行时”,但实际问题是您的PATH环境变量没有正确设置。
在这两条看似不重要的错误信息中,指标是:
App 15789 stderr: sh: 1:
App 15789 stderr: env: not foundenv是一个常见的Unix命令,位于/usr/bin中。Node.js以及其他几乎所有的东西都位于/usr/bin中。如果系统找不到env,那就意味着您的PATH环境变量没有正确设置。
它没有正确设置的原因很可能是因为Nginx 核化了您的环境变量。尝试将其添加到Nginx配置文件中:
# Don't nuke PATH; preserve original value.
env PATH;https://stackoverflow.com/questions/32071190
复制相似问题