3

django プロジェクトがあり、gunicorn と nginx を使用してデプロイしたいと考えています。

これまでのところすべてが機能していますが、サブドメインを追加すると、静的ファイルが提供されず、ページがひどく見えます!

代わりにローカルホストを使用すると、すべてが完璧に機能します!

ここで nginx.conf を残します。

server {
    listen 80 default;
    client_max_body_size 4G; 
    server_name mytest.dev;

    keepalive_timeout 5;

    # path for static files
    root /Users/danielrodriguez/workspace/mtt/static;

    location / { 
        # checks for static file, if not found proxy to app 
        try_files $uri @proxy_to_app;
    }   

    location @proxy_to_app {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;

        proxy_pass   http://localhost:8000;
    }   
}

hostsファイルにもこれがあります:

127.0.0.1   localhost
127.0.0.1   mytest.dev
255.255.255.255 broadcasthost
::1             localhost 
fe80::1%lo0 localhost

「mydev.test」と入力したときにブラウザに「localhost」と入力したときと同じようにnginxを動作させるにはどうすればよいですか? 私がやりたいことのほとんどは、Apache の仮想ホストのようなものを使用して、同じ物理サーバー内で多数のサイトにサービスを提供することです。

PD: 私も OS Lion を使っています。

4

1 に答える 1

4

設定を間違っているようですroot

root /Users/danielrodriguez/workspace/mtt/static;

css ファイルの要求された URL を確認する必要があります。あなたがブラウザを持っていると仮定するSTATIC_URL = '/static/'と、おそらくロード/static/css/styles.cssするか、そのようなものが必要になるでしょう。

したがって、ファイルはディレクトリ./static/css/styles.cssにあるはずrootです。

次に、右rootは次のようになります。

root /Users/danielrodriguez/workspace/mtt;

もちろんroot、プロジェクトのルートに設定するのは本当に良い考えではありません。したがって、プロジェクト外のディレクトリを分離staticするためのシンボリックリンクを作成できます。media

それが役立つことを願っています。

于 2012-12-02T13:32:11.610 に答える