nginxの勉強はlocationディレクティブの設定がキモ? 前方一致 正規表現

勉強

みなさんこんにちは

最近apacheからnginxに移行しちゃおうとポチポチ遊んでいる武智建樹です。

(今日からはじめのフレーズを入れてみました。。。)


nginxの設定を他のサイトを参考にしながら、いろいろ試し利用していましたが

(分からないなりにとりあえず試す精神ですわ)


しばらく様子を見るとやはり設定に不備や誤りがあり、その都度修正し

調整しています。


nginxの設定についての参考サイトは、Wordpressの高速化がセットで

その他のWEBアプリケーションの設定が少ない?

Wordpressの設定(管理画面、モバイルのキャッシュ、制限など)を自分なりにアレンジして

気持よく使っていたのですが、正直ボコボコでした。。。


まずはじめに、よく勉強したほうがいいなーと思う箇所は

locationディレクティブです。


なんとなく設定したURI内の設定が利用されるのだなー、ただその順番などは

特に意識もすること無く設定していました。

Apacheのrewrite設定をよく確認しないまま同じようにnginxに設定したところ

ループはするは、あるフォルダのphpファイルが実行されずにスクリプトファイルがそのまま

ダウンロードされるはで、めちゃくちゃでしたね。

locationの優先順位などを確認し、今ではapacheの時と同じように安定動作をしています。

ひと通りapacheでの設定と同じような動作が確認できたので

その他の設定をポチポチ触ってみたいと思います。

例)

location / {
xxxxxxxxxx
}

location /app1/ {
xxxxxxxxxx
}

location ^~ /images/ {
xxxxxxxxxx
}

location ~ \.php$ {
fastcgi_pass localhost:9000;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
include fastcgi_params;
}

=  … 完全一致
^~ … 前方検索 正規表現より優先度が高い
~  … 正規表現 大文字小文字の区別 有り
~* … 正規表現 大文字小文字の区別 無し
無 … 前方検索 正規表現より優先度が低い




関連記事