2015年4月12日日曜日

Nginx で一覧表示されたディレクトリ内のファイルをクリックしたら uWSGI アプリ実行

ブラウザで Nginx Web サーバーにアクセスした時に、URL に ディレクトリを指定したらディレクトリ一覧が表示され、一覧の中のファイルをクリックしたら uWSGI アプリが実行されるようにしてみました。

環境
Nginx 1.4.6

Nginx のコンフィグはこんな感じです。

$ cat /etc/nginx/sites-enabled/testsite
server {
        listen 80 default_server;
        server_name testserver;
        root /some/where/html;

        location / {
                try_files $uri @autoindex;
                include uwsgi_params;
                uwsgi_pass unix:/var/run/uwsgi/app/testapp/socket;
        }
        location @autoindex {
                autoindex on;
                autoindex_localtime on;
        }
}

try_files $uri @autoindex; により、指定した URL に対応したファイルが存在すればそのすぐ下に記述されている uWSGI アプリが起動します。

ファイルが存在しなければ名前付きロケーション @autoindex に内部リダイレクトされ、リダイレクト先でディレクトリ一覧を指定してます。


0 件のコメント:

コメントを投稿