【发布时间】:2015-10-22 21:15:09
【问题描述】:
我正在尝试在我的 Raspberry pi 上使用 gunicorn 运行我的烧瓶应用程序。我已将路由器设置为端口转发localhost:5000。当我通过python manage.py runserver 运行我的烧瓶应用程序时,这很有效。我可以在任何设备上使用我的浏览器并输入http://**.**.***.***:5000/,它会加载我的烧瓶应用程序。但是,当我尝试通过 gunicorn 运行应用程序时,我收到连接页面错误。我完全按照flask documentation 所说的那样运行gunicorn。如果我检查 gunicorn 的日志,我可以看到正在呈现的 html。这是踢球者,当我在本地使用 gunicorn (gunicorn -w 2 -b localhost:5000 my_app:app) 运行应用程序时,它工作得很好。我有最佳在线,我的路由器设置如下...
protocol -> all
port -> 5000
forward port to -> same as incoming port
host -> raspberrypi
locate device by -> ipaddress
就像我说的,当我使用 python 的内置 wsgi 服务器时,这些设置在我的 pi 上工作得很好。 Gunicorn 在我本地运行时工作得很好,当我在浏览器中输入 localhost:5000 时我可以看到我的应用程序,只是当我在我的 pi 上设置它并尝试使用外部 IP 访问页面时,如果我不这样做'不要使用 gunicorn 外部 IP 工作得很好。我想不通。有什么想法吗?
【问题讨论】:
-
manage.py 是 django ....
-
不,这不是大声笑,是的,django 有一个 manage.py 文件,但是可以使用 flask-script 在烧瓶中轻松编写
-
有点猜测 - 但您可以尝试让 Gunicorn 监听
0.0.0.0(即所有网络接口),看看是否可行。 -
python manage.py runserver显然是 django 的东西......是的,你可以编写自己的文件来模仿它的烧瓶,但这样做没有多大意义,但所有这些都放在一边从你的问题......但就目前而言,除了我上面的评论之外,这个问题无法回答...... -
flask-script.readthedocs.org/en/latest 当您查看大多数大型烧瓶应用程序时,会实施某种管理器文件,因此我不同意您的说法,并希望对我的特定问题有任何帮助,因为我没有帖子争论哪个框架有一个 manage.py 文件。我会说看看 git,你会发现它是烧瓶中的一个常见习语。
标签: python flask raspberry-pi gunicorn