2014-07-15 4 views
0

나는 앱을 사용하여 heroku에 배포하려고합니다. 전체 소스 here. 저도 같은 문제가 발생 foreman를 통해 미사일을 시도 할 때 내가보고 있어요Sinatra 앱 404가 Heroku에 배포 된 경우

주요 오류가 로컬

heroku[router]: at=info method=GET path="/" host=cheesyparts.herokuapp.com request_id=25d2dbb5-e13a-4146-bb3a-9386f997c44c fwd="54.234.191.55" dyno=web.1 connect=2 service=3 status=404 bytes=417

입니다. 그러나 ruby parts_server_control.rb run을 사용하면 서버를 시작하고 실행할 수 있습니다. 모든 팁을 부탁드립니다.

config.ru

require './parts_server' 
run Sinatra::Application 

모양과 같은 제어 스크립트 parts_server_control.rb 보인다 :

require "bundler/setup" 
require "daemons" 
require "pathological" 
require "thin" 

Daemons.run_proc("parts_server", :monitor => true) do 
    require "parts_server" 

    Thin::Server.start("0.0.0.0", PORT, CheesyParts::Server) 
end 

답변

1

가 제어 스크립트가 응용 프로그램 클래스 CheesyParts::Server 실행되고 있지만 그러나 당신의 config.ru을 (foreman에 의해 사용 및 Heroku) 클래식 스타일로 작성된 응용 프로그램을 가정하고 클래스 Sinatra::Application을 사용하고 있습니다. Sinatra docs on modular and classic application styles을 참조하십시오. Sinatra::Application에 아무 것도 추가되지 않으므로 "비어있는"앱이므로 모든 경로에서 404 오류가 발생합니다.

수정이의 라인을

run Sinatra::Application 

을 변경하는 것입니다 config.ru 클래스는 주 응용 프로그램으로 사용됩니다 그래서

run CheesyParts::Server 

합니다.

+0

좋은 캐치! 그거였다. – Sam

관련 문제