我用烧瓶制作了一个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?)