我已经搜索了一段时间,惊讶地发现没有任何关于Gunicorn是否运行在Windows上的信息。 有人知道吗?如果是这样的话,我在哪里可以找到相关文档呢?
严格来说这并不是一个答案。但是就实际情况而言,我所寻找的答案是如何在Windows上运行WSGI Web应用程序(如Django),对于那些因为这个问题而访问这个页面的人,这里是解决方法:
我现在正在使用waitress,它是一个非常好的替代方案 :)
基本上,你只需要用以下代码替换gunicorn
的调用:
waitress-serve --listen=*:8000 myapp.wsgi:application
对于典型的应用程序,这将为您提供与运行gunicorn相同的结果。 :) 祝你好运!
waitress.serve(app, listen='0.0.0.0:5003')
,其中5003
是我自定义的端口,而app
是app = Flask(__name__)
。 - Shane Smiskolweb: waitress-serve --port=$PORT myapp.wsgi:application
(在Procfile中),如果您正在尝试在Heroku本地运行,请使用Hendy的答案,即指定一个端口。 - Julkar9Gunicorn适用于UNIX环境,与Windows不兼容。
如需更多信息,请参阅其文档。
编辑:现在有计划添加Windows支持。 https://github.com/benoitc/gunicorn/issues/524
不行。 Gunicorn不能在Windows上运行,它的设计非常依赖于Unix /类Unix内核的功能。
gunicorn曾经不能直接在Windows上运行,但是通过一些工作(并且待解决的问题),你可以在Cygwin上使它运行。
请参见https://github.com/benoitc/gunicorn/issues/407 ....
(注:我更新了此答案,因为该错误现已得到修复)
我正在尝试使用FASTAPI在Windows上构建ASGI应用程序。 FASTAPI在Gunicorn和Uvicorn服务器上运行。我阅读了FASTAPI 文档,以找出如何在Windows上部署我的应用程序。他们建议使用Docker从Windows部署应用程序。这是在Windows上使用Gunicorn的最佳方法。
pip install uvicorn gunicorn
然后,使用https://www.uvicorn.org/中提供的标记运行您的服务器。例如:
uvicorn myproject.asgi:application --host 127.0.0.1 --port 80 --reload
这是我在生产环境中使用的方法,并且保持一致以提供我的Django ASGI应用程序。