2010-09-14 13 views
8

que siguieron this tutorial más o menos ... He instalado la gema de pasajeros, pasajeros-instalación-Ginx módulos ejecutados, nginx con éxito se instala y se inserta en el presente config:Configuración de Sinatra en Nginx: ¿qué ocurre?

server { 
    listen 80; 
    server_name localhost; 
    root /home/admin/sintest/public; # <--- be sure to point to 'public'! 
    passenger_enabled on; 
} 

en/home/admin/sintest que tengo: una carpeta pública de vacío, la config.ru:

require 'sinatra' 

set :env, :production 
disable :run 

require './app.rb' #the app itself 

run Sinatra::Application 

y una prueba de app.rb Sinatra:

require 'sinatra' 

get '/' do 
    "hello world!" 
end 

Ahora cuando ejecuto nginx y abro http://localhost lo que obtengo es: 403 Prohibido

¿Qué estoy haciendo mal? ¿Me he perdido algo?

Respuesta

4

Asegúrese de que el usuario nginx se está ejecutando como (en la mayoría de los casos 'nobody' o 'www-data') tiene permiso para leer los contenidos de su directorio de inicio/home/admin.

También puede consultar los registros de nginx y leer exactamente cuál fue el error.

+1

2010/09/14 18:36:04 [error] 12131 # 0: * 2 "/home/admin/sintest/public/index.html" está prohibido (13: Permiso denegado), cliente: 127.0.0.1 , server: localhost, request: "GET/HTTP/1.1", host: "localhost" en el error.log ... pero debería evaluar la url con sinatra? ese es el punto de pasajero? – apirogov

+3

No sabía que nginx funciona como nadie por defecto ... ok Lo arreglé ... gracias – apirogov

2

Tuve el mismo error hasta que agregué las directivas passenger_root y passenger_ruby en el bloque http.

Cuestiones relacionadas