2010-09-14 15 views
8

मैं this ट्यूटोरियल और अधिक या कम ... मैं यात्री मणि स्थापित, मार डाला यात्री से स्थापित-ginx मॉड्यूल, सफलतापूर्वक स्थापित nginx और config में इस डाला पीछा किया:निगेंक्स कॉन्फ़िगरेशन पर सिनात्रा - क्या गलत है?

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

में/घर/व्यवस्थापक/sintest मेरे पास है: एक खाली सार्वजनिक फ़ोल्डर, config.ru:

require 'sinatra' 

set :env, :production 
disable :run 

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

run Sinatra::Application 

और एक परीक्षण सिनात्रा app.rb:

require 'sinatra' 

get '/' do 
    "hello world!" 
end 

अब जब मैं nginx चलाता हूं और http://localhost खोलता हूं जो मुझे मिलता है: 403 निषिद्ध

मैं क्या गलत कर रहा हूं? क्या मुझे कुछ याद आया है?

उत्तर

4

सुनिश्चित करें कि उपयोगकर्ता nginx चल रहा है (ज्यादातर मामलों में 'कोई नहीं' या 'www-data') में आपकी होम निर्देशिका/घर/व्यवस्थापक की सामग्री को पढ़ने की अनुमति है।

इसके अलावा आप nginx लॉग में देख सकते हैं और वास्तव में त्रुटि को पढ़ सकते हैं।

+1

2010/09/14 18:36:04 [त्रुटि] 12131 # 0: * 2 "/home/admin/sintest/public/index.html" वर्जित है (13: अनुमति अस्वीकृत), ग्राहक: 127.0.0.1 , सर्वर: localhost, अनुरोध: "GET/HTTP/1.1", मेजबान: error.log में "localhost" ... लेकिन इसे sinatra के साथ यूआरएल का मूल्यांकन करना चाहिए? यात्री का पूरा बिंदु है? – apirogov

+3

मुझे पता नहीं था कि nginx डिफ़ॉल्ट रूप से किसी के रूप में नहीं चलता है ... ठीक है मैंने इसे ठीक किया ... धन्यवाद – apirogov

2

मुझे वही त्रुटि मिली जब तक मैंने http ब्लॉक में passenger_root और passenger_ruby निर्देश जोड़े।

संबंधित मुद्दे