python – 让Gunicorn在80端口运行

我用烧瓶制作了一个API.我的应用程序没有任何静态资产,因此我没有理由使用nginx.

我希望在80号港口上运行枪炮.

我有一个“部署脚本”:

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?

有什么建议?

解决方法:

尝试将authbind放入部署脚本中,例如:

mkdir .log 2> /dev/null
DEBUG=0 authbind gunicorn -b 0.0.0.0:80 backend:app --access-logfile .log/access.log --error-logfile .log/general.log

然后运行./deployment.run 80.

(另外,你的脚本似乎没有使用任何参数;或许在你的脚本中用$1替换80?)

上一篇:python – django gunicorn sock文件不是由wsgi创建的


下一篇:有没有办法在gunicorn中记录python打印语句?