2009-10-27 5 views
11

나는 승객을 사용하여 Sinatra 앱을 배포하고 있습니다. 배포 된 앱이 작동하지만 일부는 잘 작동하고 다른 일부는 빈 페이지를 렌더링합니다. 나는 일 노선과 그렇지 않은 경로 사이의 주요 차이점을 찾을 수가 없어, 나는 오류를 추적 할 수없는 것 .. 내가 정의프로덕션 환경에서 Sinatra 앱을 디버깅하는 데 문제가 있습니다.

핸들러 다음과 같이 NOT_FOUND 및 오류 처리기 :

not_found do 
    '404. Bummer!' 
end 

error do 
    'Nasty error: ' + env['sinatra.error'].name 
end 

내 로컬 컴퓨터에이 잘 작동, 모두 개발 및 생산,하지만 난이 서버에서 올 볼 수 없습니다.

helpers [27/Oct/2009:15:54:59 -0400] "GET /admin/member_photos/photos HTTP/1.1" 500 20 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3" 

rack_hoptoad

나는 또한했습니다 :

아파치 로그

I 꼬리 아파치 access.log의와 깨진 경로 중 하나를 명중, 나는 500을 참조 내 config.ru에서 rack_hoptoad 미들웨어를 설치 및 구성했지만 hoptoad에는 예외가 없습니다. 로그인

# Send exceptions to hoptoad 
require 'rack_hoptoad' 
use Rack::HoptoadNotifier, 'MY_API_KEY' 

내가 지금처럼 로그인 설정 한

..

set :raise_errors => true 
set :logging, true 

log = File.new("log/sinatra.log", "a+") 
STDOUT.reopen(log) 
STDERR.reopen(log) 

require 'logger' 
configure do 
    LOGGER = Logger.new("log/sinatra.log") 
end 

helpers do 
    def logger 
    LOGGER 
    end 
end 

이 설정이 날 로컬에서 작동하는 내 경로 내에서 logger.info 를 호출 할 수 있습니다 작업 경로에 대한 서버이지만 깨진 경로는 logger.info를 호출하기에 충분하지 않습니다.

무엇을할까요?

500 오류의 원인을 어떻게 확인할 수 있습니까? 어떤 도움을 주셔서 감사합니다!

+0

"Stackies을?" :-) Stackies 용 – SLaks

+1

+1! – DigitalRoss

+0

httpd에서 간단한 응용 프로그램을 사용해 보셨습니까? 'How low world'앱처럼. 그냥 '/'할; 'How low world'; end 먼저 앱을 확인한 후 앱을 확인합니다. httpd 및 설정 파일에서 간단한 앱을 확인하십시오. 그건 그렇고, 나는 당신이 sinatra에 몇 가지 https 로그를 얻을 수 없다고 생각합니다. – tknv

답변

6

나는 Rack :: ShowExceptions 미들웨어를 사용해 문제를 추적하려고합니다. 당신의 config.ru에서 실행 호출하기 전에이 두 줄을 추가 잡아 랙 또는 앱에서 발생하는 예외에 대한 역 추적을 표시한다

require 'rubygems' 
require 'your-app' 

use Rack::ShowExceptions 

run YourApp 

. 그렇게하면 작업 할 수있는 세부 정보를 얻을 수 있습니다. 최소한 그것이 희망 일 것입니다.

1

아마도 로그 설정에 문제가 있습니까?

Sinatra 서버를 실행할 때 읽을 수 있도록 STDERR을 리디렉션하십시오. Like :

ruby myapp.rb -p 1234 > log/app.log 2>&1 
0

응답 해 주셔서 감사합니다. 그러나 사용하지 않아도되었습니다. 원래 sub-URI configuration에 앱을 배포하고있었습니다. 대신 자신의 하위 도메인에 앱을 배포하면 문제가 사라졌습니다.

그래서 ..나는 문제가 무엇인지 정말 모르겠지만, 사이트 내 아파치 구성이 일 해결 된 것입니다이 줄을 제거하기 :

Redirect permanent/https://www.example.org/admin/member_photos/ 
관련 문제