2016-11-04 15 views
0

私はuwsgiとnginxで動作するDjangoプロジェクトを設定しています。静的コンテンツのために、私は私のnginx.confに次き:静的コンテンツのリクエストがuwsgiに移動するのはなぜですか?

location /static { 
    alias /Users/me/mystatic; # your Django project's static files - amend as required 
} 

私は/Users/me/mystaticSTATIC_ROOTを設定し、そのディレクトリにすべての静的ファイルをコピーするcollectstaticと呼ばれています。私のuwsgiログには、静的コンテンツのGETリクエストがあります。 nginxは静的コンテンツを提供するはずなので、GETリクエストはなぜuwsgiに送信されますか?

+0

場所を追加しようとすると、 – aliasav

+0

がうまくいかない場合は、nginx confの残りの部分を追加してください。また、djangoの設定でSTATIC_URLが "/ static /"になっていることを確認してください。 – aliasav

答えて

0
として DEBUGで実行されていることを確認して、

server { 

    listen 80 ; 
    server_name XXXX; 
    client_max_body_size 4G;    

    location /static/ { 
     alias <path-to-collectstatic> 
    } 

    location/{ 
     include uwsgi_params; 
     uwsgi_pass unix:/tmp/uwsgi_web.sock; 
    } 

} 

お知らせstatic

最後のもののための追加/locationでブロック:

nginxのconfには次のようになります。

問題は、自分自身のnginx.confを/usr/local/etc/nginx/sites-enabledに入れて、/usr/local/etc/nginx/serversではないということでした。 /usr/local/etc/nginx/nginx.confでは、include servers/*;が最後です。したがって、UWSGIは依然として静的ファイルを提供していました。私はdjango-nginx-uwsgi tutorialに続き、新しいsites-enabledディレクトリを作成しなければならないと仮定しました。私はOS Xを使用しています。

でも、/etc/nginx/nginx.confにはinclude /etc/nginx/sites-enabled/*;が含まれているので、このチュートリアルの手順はLinuxにも適用されます。

/staticの末尾の余分な/は、違いはありませんが、すべてのパスの最後にあることを傷つけることはありません。

2

STATIC_URL"/static/"に設定されていることを確認してください。アプリケーションサーバはFalse

+0

はい、 '' STATIC_URL = '/静的/ '' ''です。私は '' '場所/静的/' '今夜を試してみますが、[nginx-uwsgi-djangoチュートリアル](http://uwsgi-docs.readthedocs.io/en/latest/tutorials /Django_and_nginx.html#configure-nginx-for-your-site)は単に '' '/ static'''を使います。 – user2233706

関連する問題