Heroku에 aiohttp 웹 서버 배포

Dec 21 2020

정말 간단한 aiohttp 앱을 heroku에 배포하려고 main.py합니다. 여기 파일이 있습니다.

import os
from aiohttp import web

routes = web.RouteTableDef()

@routes.get('/')
async def handle(request):
    return web.Response(text='Welcome')


app = web.Application()
app.add_routes(routes)

if __name__ == '__main__':
    port = int(os.environ['PORT'])
    web.run_app(app, port=port)

그리고 여기에 Procfile

web: python main.py

localhost에서 잘 작동하지만 heroku에 업로드하면 다음과 같이 표시됩니다.

 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=******.herokuapp.com request_id=4e96418b-04bc-4bbb-bd4f-2b17320c3bc7 fwd="81.61.104.12" dyno= connect= service= status=503 bytes= protocol=https

또한 이 질문은 도움이되지 않았습니다.

답변

DimaGavryshchyk Dec 22 2020 at 02:49

여기에 한 줄이 도움이 될 것입니다.

web.run_app(app, port=os.getenv('PORT'))

대신에

if __name__ == '__main__':
    port = int(os.environ['PORT'])
    web.run_app(app, port=port)