2013-03-14

Nginx の location にハマった

Nginx の location ディレクティブでハマったので、メモ。

こんな設定を書いた。

server {
  listen 80;
  server_name myserver.com;
  root /var/redmine/public;

  location / {
    passenger_enabled on;
  }

  location /bookmarklet {
    root /var/redmine/www;
    index index.html index.htm;
  }
}

http://myserver.com/ で Redmine を公開。Redmine 用のブックマークレットを書いたので、 http://myserver.com/bookmarklet/ でブックマークレット用ページにアクセスさせようというもの。

ところが、上記 URL にアクセスしても 404 Not Found のエラーが出るばかり。問題はウェブ・ページの置き場所にあった。

  • (誤) /var/redmine/www/index.html
  • (正) /var/redmine/www/bookmarklet/index.html

ファイルを置く場所は root で指定した場所だと思っていたのだけど、その下に location で指定したディレクトリーを作らないといけないのね。ハマッた、ハマッた。これからも同じ失敗をしそうなのでメモ。

それにしても、何でこうなるのか? 直感的じゃないなぁ。

No comments:

Post a Comment