Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Ruby on Rails w/Passenger-只是尝试进行基本设置…我是否遗漏了什么?_Ruby On Rails_Ruby On Rails 3_Dreamhost - Fatal编程技术网

Ruby on rails Ruby on Rails w/Passenger-只是尝试进行基本设置…我是否遗漏了什么?

Ruby on rails Ruby on Rails w/Passenger-只是尝试进行基本设置…我是否遗漏了什么?,ruby-on-rails,ruby-on-rails-3,dreamhost,Ruby On Rails,Ruby On Rails 3,Dreamhost,我是rails新手,尝试在共享主机站点(Dreamhost)上设置它。我的域被配置为使用Passenger,web根目录为myrubyapp/public 不幸的是,在设置RoR之后,我得到的只是我的“公共”文件夹的目录列表 以下是我采取的具体步骤: “rails新myrubapp” cd myrubyapp rakedb:create(只需使用基本的SQLite就可以让它工作——也可以使用MySQL进行尝试,没有任何更改) 此时,“public”中的index.html可以正常工作 “r

我是rails新手,尝试在共享主机站点(Dreamhost)上设置它。我的域被配置为使用Passenger,web根目录为myrubyapp/public

不幸的是,在设置RoR之后,我得到的只是我的“公共”文件夹的目录列表

以下是我采取的具体步骤:

  • “rails新myrubapp”
  • cd myrubyapp
  • rakedb:create(只需使用基本的SQLite就可以让它工作——也可以使用MySQL进行尝试,没有任何更改)
此时,“public”中的index.html可以正常工作

  • “rails生成控制器主索引”
  • rm public/index.html
  • 修改config/routes.rb以取消注释,并将“root:to”行更改为指向主索引
  • touch tmp/restart.txt(我认为这是一个dreamhostism-它告诉乘客刷新此域的缓存)
就这样。现在我得到了一个公开的目录列表,而不是rails

我是一个rails新手,但我一直在学习

Dreamhost无法给我任何线索。我完全有可能遗漏了什么。不幸的是,myrubyapp/log/production.log是一个零长度的空文件(就像myrubyapp/log中的所有内容一样)。我不知道Passenger/Apache的配置是什么,尽管Dreamhost说其他客户在同一台服务器上使用rails没有问题

这是rails 3,顺便说一句


有人有什么建议吗?非常感谢。

乘客似乎没有跑。让他们检查它是否确实对您有效,或者检查您的控制面板是否有效。如果你得到一个目录列表,很肯定乘客没有工作。你的脚步似乎很好

我马上就能看到两个潜在的问题。第一。。在根目录中:对于行,您可能需要确保正确地将类大写:“Home#index”而不是“Home#index”。另一个潜在的问题是,您实际上不需要使用db:create。db:migrate(对于SQLite)在大多数情况下都可以正常工作。虽然db:create也应该可以。后者更像是一种文体,而不是一种错误


顺便说一句,我用Dreamhost主持了一段时间的Ruby项目。他们还不错,但是反应很慢。如果你的代码没有经常被点击,它们基本上就是你的应用程序的“后台”,当下一个请求到达时,它需要一段时间才能恢复。正因为如此,我最终得到了一个副总裁。YMMV.

听起来好像您没有在dreamhost面板上正确启用RoR,您是否100%确定它已启用?目录列表是否列出了项目公用文件夹中的实际文件?是的,此域已启用Passenger。这个域有一个复选框,上面写着“Passenger(仅限Ruby/Python应用程序)”,它被选中了。面板中没有其他与乘客相关的内容。目录列表是项目公用文件夹中的实际文件。有没有办法检查乘客是否在轨道外正常运行?i、 比如,我可以做什么测试?不幸的是,我受DH的摆布,他们说乘客在我所在的特定服务器上以及在该服务器上的其他人身上工作正常。我有点莫名其妙。它应该可以工作了:/你把生产环境设置好了吗?它应该是与passenger.SpyrosP一起使用的,我列出的是我所做的一切。我相信乘客总是在“生产”模式下运行。是的,但您的环境如何?您是否正确设置了生产环境?您的数据库是否已创建?乘客并不总是在生产中运行,您可以指定。但是我确信他们默认运行生产,我已经尝试过MySQL数据库和rails附带的SQLite配置。换句话说,我尝试了stock database.yml(使用SQLite)和修改后的database.yml,其中生产部分设置为使用MySQL数据库。我可以使用相同的参数在命令行上连接到MySQL数据库,因此我知道MySQL数据库正在工作。似乎没有什么需要配置的了-在Rails 3中,我认为environment.rb设置中不再有Rails_ENV了。好吧,我自己仔细检查了一下(发布后-真的不应该这样做…)。实际上,第一个字母不必大写。尽管我不得不同意其他人的看法。看起来很可能有一个RoR没有在特定的域问题上启用。