Ruby on Rails nginx with Passenger 找不到视图



我正在NginX和Passenger上组装我的第一个ROR应用程序。我在网上关注教程,当我试图转到主页时,我会遇到以下错误。

我使用命令行创建了一个控制器home_controller.rb。我还在命令行中创建了视图,该命令行构成了默认的ERB文件。

nginx服务正在运行,我通过"乘客启动"手动启动乘客。我可以看到乘客接受传入的HTTP请求,如以下错误所示。奇怪的是,它在我的ruby应用程序的公共文件夹中查找home/index。我使用了"rails generate[controller/view]foo",它在public之外写入文件。

我的nginx-config被配置为指向我的ROR项目的公共文件夹。

我使用的是ROR 2.0.0、Phusion Passenger 4.0.29和nginx 1.1.19。

我在Passenger中遗漏了什么吗?告诉它控制器/视图等在哪里。是

mj

2013/12/13 15:20:12 [error] 18305#0: *4 "/usr/development/sandbox/app/public/index.html" 
is not found (2: No such file or directory), client: 127.0.0.1, server: _, request:     "HEAD / 
HTTP/1.1", host: "0.0.0.0"
2013/12/13 15:20:13 [error] 18305#0: *5 "/usr/development/sandbox/app/public/index.html" 
is not found (2: No such file or directory), client: 127.0.0.1, server: _, request: "GET  
HTTP/1.1", host: "localhost:3000"
2013/12/13 15:20:18 [error] 18305#0: *5 open() 
"/usr/development/sandbox/app/public/home/index" failed (2: No such file or directory), 
client: 127.0.0.1, server: _, request: "GET /home/index HTTP/1.1", host: "localhost:3000"
2013/12/13 15:27:11 [error] 18305#0: *13 open() 
"/usr/development/sandbox/app/public/home/index" failed (2: No such file or directory), 
client: 127.0.0.1, server: _, request: "GET /home/index HTTP/1.1", host: "localhost:3000"

编辑0-如果我使用"rails服务器",一切似乎都很好/编辑0

您使用Phusion Passenger的方式不对。

Phusion Passenger提供3种模式:独立模式(作为独立web服务器运行的模式)、Nginx集成模式和Apache集成模式。通过运行passenger start,您正在使用它的独立模式。

运行Nginx。从你的日志来看,你似乎正在访问Nginx。但这无济于事。乘客是独立运行的,没有在Nginx内部运行。

在图表中:

         Nginx  <--------------------- [Your request]
(Not integrated with Passenger,
 so doesn't know what to do with
 your request)

Passenger Standalone
(waiting for your request,
 but you never sent one
 to it)

以下是如果您使用rails server:的情况

       Nginx
 (not receiving any
  requests from you)

    rails server <--------------- [Your request]

您实际想要的是访问Passenger Standalone,它就像rails server一样,在端口3000上侦听。事实上,Passenger Standalone在启动时告诉您,它正在监听端口3000。

       Nginx
 (not receiving any
  requests from you;
  so you may as well
  disable it)

 Passenger Standalone <--------------- [Your request]

最新更新