エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

nginxのdefault.confがやってることを見直す【138日目】

こんな感じのを書いてました

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }

location /

location /http://domain_name.jp/○○○みたいに、ドメイン一致した後の任意のURLに対しての処理。

で、やっていることは、何来てもぜーーんぶindex.phpを動かすこと。

なんでこうしてるの?

URLに合わせて読み込むファイルを変えると、最初の読み込みで必ずやりたいこととか、URL変えるときとか、ファイルの変更が起こる度に変更するファイルが変わっちゃって大変・・・

だから、最初に読み込むファイルを『index.php』に固定して、『index.php』から、初期準備ファイルやURLの設定ファイルを読み込むと良い。

Laravelだと『route.php』にURL周りの情報が集約されてるし、こういう構成に出来るのも、最初に読み込むのを『index.php』に固定しているおかげ。

location ~ .php$

location ~ \.php$に書いているのは、.phpのファイルを指定された時は、ちゃんと実行した結果を返してね的なやつ。(らしい・・・)

なんでらしい、なのかは、これ書かなかったら、phpファイルがそのままダウンロードされたので(´;ω;`)

これの意味についてはまだ理解してないので、いい記事どっかにないかな・・・

言いたいこと

設定ファイルが、どうしてこうなっているかを理解すると、よりプログラムの流れが理解出来るね!

そしてnginxまだ全然わかんない、勉強しなければー!