我用烧瓶建立了一个API。我的应用程序没有任何静态资产,因此我没有理由使用nginx。让Gunicorn运行在80端口上
我希望在端口80
运行gunicorn我有一个 “部署脚本”:
mkdir .log 2> /dev/null
DEBUG=0 gunicorn -b 0.0.0.0:80 backend:app --access-logfile .log/access.log --error-logfile .log/general.log
我希望与authbind
在端口80上运行gunicorn。我在这里跟着这个guide。
请注意,我能够运行authbind python -m SimpleHTTPServer 80
当我尝试运行authbind ./deployment.run 80
,
我看到下面的错误:
2013-04-25 15:32:55 [24006] [ERROR] Can't connect to ('0.0.0.0', 80)
2013-04-25 15:33:08 [24018] [INFO] Starting gunicorn 0.17.4
2013-04-25 15:33:08 [24018] [ERROR] Retrying in 1 second.
2013-04-25 15:33:09 [24018] [ERROR] Retrying in 1 second.
2013-04-25 15:33:10 [24018] [ERROR] Retrying in 1 second.
2013-04-25 15:33:11 [24018] [ERROR] Retrying in 1 second.
2013-04-25 15:33:12 [24018] [ERROR] Retrying in 1 second.
任何想法,为什么我不能将gunicorn绑定到端口80?
有什么建议吗?
正如Uku所提到的,Unix保护1024以下的端口,而authbind不会让普通用户神奇地绕过该端口。必须将其配置为允许某些类型的绑定 - 请参阅http://manpages.ubuntu.com/manpages/hardy/man1/authbind.1.html和http://mutelight.org/authbind。 – mahemoff 2014-02-27 23:56:48