簡體   English   中英

與工頭開始的Socket.error:測試部署一個簡單的燒瓶應用程序到Heroku

[英]Socket.error with foreman start: Tesing deploying a simple flask app to Heroku

問題

socket.error: [Errno 98] Address already in use

我在做什么

我測試用一個簡單的燒瓶應用foreman start在我的本地環境。 該應用程序包含一些功能,但它的錯誤在這里:

if __name__ == '__main__':
    app.run()

完整的跟蹤如下所示。 我不確定可能出現什么問題,或者我的本地機器上的套接字是如何使用的。 當我從終端運行帶有python runapp.py的應用程序時,一切正常。

我累了。

Heroku,燒瓶和蟒蛇插座?

將Flask應用程序部署到Heroku

在最后一個問題之后,我厭倦了改變它運行的端口

if __name__ == '__main__':    
    import os 
    port = int(os.environ.get('PORT', 5000)) 
    app.run(host='0.0.0.0', port=port)

但它沒有幫助。 任何建議,將不勝感激! 我是Heroku的新手所以請告訴我是否有更多的信息可以讓我更容易解決這個問題。 謝謝!

堆棧錯誤的痕跡:

        22:13:45 web.1  | started with pid 11121
        22:13:45 web.1  |  * Running on http://127.0.0.1:5000/
        22:13:45 web.1  | Traceback (most recent call last):
        22:13:45 web.1  |   File "Hunch/Hunch/hunchapp.py", line 49, in <module>
        22:13:45 web.1  |     app.run()
        22:13:45 web.1  |   File "/home/agconti/my_dev/github/Hunch/venv/local/lib/python2.7/site-packages/flask/app.py", line 772, in run
        22:13:45 web.1  |     run_simple(host, port, self, **options)
        22:13:45 web.1  |   File "/home/agconti/my_dev/github/Hunch/venv/local/lib/python2.7/site-packages/werkzeug/serving.py", line 706, in run_simple
        22:13:45 web.1  |     test_socket.bind((hostname, port))
        22:13:45 web.1  |   File "/usr/lib/python2.7/socket.py", line 224, in meth
        22:13:45 web.1  |     return getattr(self._sock,name)(*args)
        22:13:45 web.1  | socket.error: [Errno 98] Address already in use
        22:13:45 web.1  | exited with code 1
        22:13:45 system | sending SIGTERM to all processes

Soultion:

從終端:

heroku config:add PORT=33507

然后將您的應用更改為:

if __name__ == '__main__':
        import os  
        port = int(os.environ.get('PORT', 33507)) 
        app.run(host='0.0.0.0', port=port)

似乎heroku為了自己的目的保留了燒瓶的默認端口。 可在此處找到詳細討論:將Flask應用程序部署到Heroku

終止燒瓶應用程序時,請使用“Control + C”。 如果您使用“Control + Z”,它會因為某些原因而將剩余的報告激活...我不知道為什么,但在Debian(wheezy)中我似乎就是這種情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM