5

Gunicorn(Djangoサービスとして)とNGINX(リバースプロキシとして)を使用して、DjangoFrameworkの開発環境をセットアップするのに忙しいです。

このチュートリアルやこのチュートリアルのようないくつかのチュートリアルを見ると、ポート8000​​とポート8001(および)を使用していることがわかります。他のWebサーバーのように、ポート80を使用しない特別な理由はありますか?http://127.0.0.1:8000http://127.0.0.1:8001

ポート8000​​は、ラジオストリーミングやマルウェアによく使用されますが、なぜですか?

ところで:Ubuntu12.04システムでVirtualenvを使用して実行しています。

4

2 に答える 2

14

1024未満のすべてのポートは特権ポートです。特権ポートにバインドするには、rootユーザーの権限が必要であり、通常、rootレベルの権限でgunicornを実行する必要はありません。

代わりに行われるのは、nginxが127.0.0.1:80にバインドできるようにしてから、次のようなnginx構成を使用して、ポート80へのリクエストを8000などの非特権ポートにプロキシすることです。

server {
        location / {
                proxy_pass http://127.0.0.1:8000;
        }
}
于 2012-10-10T06:01:01.350 に答える
1

NGINXはポート80でリッスンし、Gunicornに転送します。Gunicornは0.0.0.0ではなく127.0.0.1IPで動作するため、パブリックにリッスンしていません。したがって、外部からサイトにアクセスする唯一の方法は、ポート80を使用することです。

于 2012-07-12T02:37:05.970 に答える