Gunicorn을 사용한 Heroku의 Bottle 앱-Foreman은 로컬에서 작동하지만 Heroku에서는 작동하지 않습니다.

Kontur

bottleheroku에 배포 할 때 간단한 앱을 시작 하려고 노력 중 입니다.

꽤 많은 검색과 땜질을 한 후 로컬에서 작동하지만 heroku에서는 작동하지 않는 설정을 얻었습니다.

에서 /app.py:

import bottle
import beaker.middleware
from bottle import route, redirect, post, run, request, hook, template, static_file, default_app

bottle.debug(True)
app = beaker.middleware.SessionMiddleware(bottle.app(), session_opts)
...
# app routes etc, no run()

그런 다음 /Procfile:

web: gunicorn app:app --bind="0.0.0.0:$PORT" --debug

gunicorn이 어떻게 작동하는지 오해하면 수정하세요. 저는 app.py라는 모듈 (= file)에서 보이는 것처럼 "app : app"부분을 이해하고 "app"변수에있는 것을 WSIG로 사용합니다. 그렇죠?

  • $ heroku run bash$ PORT가 설정되어 있는지 확인했습니다.
  • 다른 heroku 예제에서 얻은 "0.0.0.0"IP는 어쨌든 모든 IP 서버 끝을 허용해야합니다.
  • Python 종속성이 제대로 설치된 것 같습니다.
  • 감독 $POST을 위해 .env파일을 통해 변수를 설정하여 로컬에서 실행하고 있으며 모든 것이 내 설정에서 정상적으로 작동하는 것 같습니다.
  • 이 질문을 바탕으로 확인했습니다.$ heroku ps

=== web (1X): `gunicorn app:app --bind="0.0.0.0:$PORT" --debug` web.1: crashed 2014/12/24 22:43:00 (~ 1m ago)*)

  • 그리고 $ heroku logs보여줍니다 :

2014-12-24T20:42:59.235657+00:00 heroku[web.1]: Starting process with command `gunicorn app:app --bind="0.0.0.0:23177" --debug` 2014-12-24T20:43:00.434570+00:00 heroku[web.1]: State changed from starting to up 2014-12-24T20:43:01.813679+00:00 heroku[web.1]: State changed from up to crashed 2014-12-24T20:43:01.803122+00:00 heroku[web.1]: Process exited with status 3

더 나은 디버깅 결과를 얻을 수있는 방법도 확실하지 않습니다. 어떻게 든 Procfile웹 프로세스가 작동하지 않거나 시작되지 않는 것 같지만 무엇이 중단되었는지에 대한 정보를 어떻게 얻을 수 있습니까?

아무도 여기서 무슨 일이 일어나고 있는지 아이디어가 있습니까?

추신 : 나는 heroku, python, bottle & gunicorn을 처음 접했습니다. : O

메탄

어떤 버전의 gunicorn을 사용하십니까? gunicorn 19.1은 기본적으로 오류 로그를 작성하지 않습니다. 시도해보십시오 gunicorn --log-file=-.

-R 오류를 조사하는데도 유용한 옵션입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관