Ruby 西纳特拉+;乘客+;DreamHost上的RVM无法启动

Ruby 西纳特拉+;乘客+;DreamHost上的RVM无法启动,ruby,sinatra,passenger,dreamhost,Ruby,Sinatra,Passenger,Dreamhost,我在运行sinatra服务器时遇到问题 我安装了RVM并编写了一个简单的sinatra应用程序,来源如下。我还创建了public+tmp+tmp/restart.txt文件夹。我在这里找到了一些关于如何设置GEM_路径/GEM_HOME的答案/文章 该站点定义为“乘客(仅限Ruby/Python应用程序)”选项 如果我使用SSH中的命令行运行独立的passenger,它在端口3000(例如,使用公共URL)上可以正常工作。所以这意味着网站很好,gems可用,只是与乘客的连接失败了 我甚至看不到a

我在运行sinatra服务器时遇到问题

我安装了RVM并编写了一个简单的sinatra应用程序,来源如下。我还创建了public+tmp+tmp/restart.txt文件夹。我在这里找到了一些关于如何设置GEM_路径/GEM_HOME的答案/文章

该站点定义为“乘客(仅限Ruby/Python应用程序)”选项

如果我使用SSH中的命令行运行独立的passenger,它在端口3000(例如,使用公共URL)上可以正常工作。所以这意味着网站很好,gems可用,只是与乘客的连接失败了

我甚至看不到apache的日志来判断出了什么问题。/home/user/domain.com/http/error.log为空,access.log中填充了500s。 浏览器中的错误是500,内部服务器错误,没有任何线索

我安装RVM的用户是此帐户的完全管理员

我错过了什么

# config.ru

# I made sure the path is correct and that all the gems I need are installed there
ENV['GEM_PATH'] = '/home/<MY USERNAME>/.rvm/gems/ruby-1.9.3-p362'
# I tried also setting GEM_HOME instead and with GEM_PATH

require 'rubygems'

Gem.clear_paths

require 'sinatra'

require File.expand_path('../server.rb', __FILE__)
run Sinatra::Application

# server.rb

require 'sinatra'
get '/' do
  "Worked on dreamhost"
end

get '/foo/:bar' do
  "You asked for foo/#{params[:bar]}"
end
#config.ru
#我确保路径正确,并且我需要的所有gem都安装在那里
ENV['GEM_PATH']='/home/.rvm/gems/ruby-1.9.3-p362'
#我还尝试设置GEM_HOME,并使用GEM_路径
需要“rubygems”
Gem.clear_路径
需要“sinatra”
需要文件。展开\u路径('../server.rb',\u文件\u)
运行Sinatra::应用程序
#server.rb
需要“sinatra”
获取“/”do
“在dreamhost上工作”
结束
获取“/foo/:bar”do
“您要求提供foo/#{params[:bar]}”
结束

我很抱歉听到您在我们的服务器上安装RVM时遇到问题。 这有时会有点棘手,要知道你并不孤单! 实际上,我们的wiki页面上有一整篇文章专门介绍如何在服务器上安装RVM

这会让你对你所遇到的问题有一些了解。 如果您无法解决此问题,您也可以向我们的技术支持部门发送一份通知单。 我希望这一切都有帮助

问候,, 贾斯汀H
DreamHost员工

很抱歉听到您在我们的服务器上安装RVM时遇到问题。 这有时会有点棘手,要知道你并不孤单! 实际上,我们的wiki页面上有一整篇文章专门介绍如何在服务器上安装RVM

这会让你对你所遇到的问题有一些了解。 如果您无法解决此问题,您也可以向我们的技术支持部门发送一份通知单。 我希望这一切都有帮助

问候,, 贾斯汀H
DreamHost员工

只是一个小提示。我打赌在DreamHost上的某个地方有一个控制面板,在那里你可以找到一个访问错误日志的权限。这里提到的唯一日志是我提到的目录,它有一个空的error.log。可能的答案是:
原因是Passenger Phusion与安装在/usr/lib中的Ruby版本绑定,如果没有root访问权限,则无法更改。即使您可以使用RVM安装任何版本的Ruby,您也不会让Passenger与它对话,因此您的rails项目不会使用它的gems。
即使它是针对BlueHost的,我认为对于DreamHost也是如此。只是一小笔小费。我打赌在DreamHost上的某个地方有一个控制面板,在那里你可以找到一个访问错误日志的权限。这里提到的唯一日志是我提到的目录,它有一个空的error.log。可能的答案是:
原因是Passenger Phusion与安装在/usr/lib中的Ruby版本绑定,如果没有root访问权限,则无法更改。即使您可以使用RVM安装任何版本的Ruby,您也不会让Passenger与它对话,因此您的rails项目不会使用它的gems。
即使它是针对BlueHost的,我认为对于DreamHost也是如此。