web-dev-qa-db-ja.com

Gunicornをポート80で実行する

フラスコでAPIを構築しました。私のアプリには静的アセットがないため、nginxを使用する理由はありません。

私はポート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を実行したいと思います。私はこれに従いました ガイド ここに。

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にバインドできない理由は何ですか?

何かお勧めですか?

13
disappearedng

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

(また、スクリプトがパラメーターを使用していないようです。おそらく80スクリプト内で$1?)

6
rmunn

UNIXライクな環境を使用している場合、1024未満のポート(80など)にはスーパーユーザー権限が必要です。

28
Uku Loskit