5

私は、Ubuntu サーバーから Django アプリを提供することに取り組んできました。http://senko.net/en/django-nginx-gunicorn/のすべての指示に従いましたが、ステップに到達するとgunicorn_django -b 0.0.0.0:8000、サイトが突然静的ファイルの提供を停止します。このサイトは、開発サーバーを使用して問題なく動作しますpython manage.py runserver 0.0.0.0:8000

ストック設定は何も変更していません。これが機能しない理由はありますか?

編集:

チュートリアルの残りの部分とAndrew Gorcesterのアドバイスに従った後、

location /static {
     root /path/to/static/files;
}

私のnginxsites-availableファイルに、すべてが機能しているようです!

4

1 に答える 1

5

Gunicornは汎用Webサーバーではなく、アプリケーション(この場合はdjango)を提供するだけです。また、djangoは、静的ファイルを提供するための効率的または必ずしも安全な手段ではないため、開発者の便宜のために、開発中を除いて静的ファイルを提供しません。

指示に完全に従うと、ポート80で実行されるnginxをセットアップするように指示されます。これにより、1)アプリケーションをポート8000​​からポート80にプロキシし、2)同じポートで静的ファイルを提供してどちらを実行するかを選択しますURLに基​​づくリクエストごと。

静的ファイルがポート8000​​で機能しないことは、アラームの原因ではありません。この構成では、nginxが適切に構成されている場合、静的ファイルはポート80でのみ機能するはずです。静的ファイルを提供するための他の戦略を使用したdjangoの他の可能な構成がありますが、それらのほとんどは、この場合のようにアプリケーションから完全に分離された静的ファイルを提供するという推奨される規則に従います。

于 2012-12-19T07:24:58.187 に答える