2010-09-14 5 views
8

J'ai suivi this tutoriel plus ou moins ... J'ai installé le petit bijou de passagers, exécuté passagers-install-Ginx-module, nginx installé et inséré sucessfully ceci dans la config:Sinatra sur la configuration de Nginx - quel est le problème?

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

dans/home/admin/sintest je: un dossier public vide, le config.ru:

require 'sinatra' 

set :env, :production 
disable :run 

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

run Sinatra::Application 

et un sinatra test app.rb:

require 'sinatra' 

get '/' do 
    "hello world!" 
end 

Maintenant, quand je cours nginx et ouvrir http://localhost ce que je reçois est: 403 Interdit

Qu'est-ce que je fais mal? Ai-je manqué quelque chose?

Répondre

4

Assurez-vous que l'utilisateur nginx s'exécute comme (dans la plupart des cas 'personne' ou 'www-data') est autorisé à lire le contenu de votre répertoire personnel/home/admin.

Vous pouvez également regarder dans les journaux nginx et lire exactement quelle était l'erreur.

+1

2010/09/14 18:36:04 [erreur] 12131 # 0: * 2 "/home/admin/sintest/public/index.html" est interdit (13: autorisation refusée), client: 127.0.0.1 , serveur: localhost, requête: "GET/HTTP/1.1", hôte: "localhost" dans error.log ... mais devrait-il évaluer l'URL avec sinatra? C'est tout le point du passager? – apirogov

+3

Je n'étais pas au courant que nginx fonctionne comme personne par défaut ... ok je l'ai corrigé ... merci – apirogov

2

J'ai eu la même erreur jusqu'à ce que j'ajoute les directives passenger_root et passenger_ruby dans le bloc http.

Questions connexes