CENTOS8.1のnginxとphp-fpmを設定したとき【location ~ \.php$】のディレクティブが一切反映されない

nginxのディレクティブがなんでか動かない nginx

■なぜだか【location ~ \.php$】の設定が反映されない

Centos8.1とnginxとphp-fpmでシステムを構築したとき、なぜだかvirtualHost側の設定が一切反映されませんでした。

yum install nginx

でインストールした一般的な環境です。

virtualhostのphpの部分の設定項目は以下の通りです。もう、すごく一般的な感じです。で、とにかくこの中の設定のAddHeaderやらfastcgi_cacheの設定なんかが全く動きませんでした。

---略---
location ~ \.php$ {
        try_files       $uri =404;
        fastcgi_pass   unix:/var/run/php-fpm/www.sock;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
        fastcgi_read_timeout 300;
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;

        fastcgi_ignore_headers Set-Cookie Vary Cache-Control Expires;
        set $skip_cache 0;

        if ($request_uri ~* "(/Admin*)") {
            set $skip_cache 1;
        }

        fastcgi_cache_bypass $skip_cache;
        fastcgi_cache        hogehoge;
        fastcgi_cache_valid  200 60m;
        add_header X-F-Cache $upstream_cache_status;

        include         fastcgi_params;
    }

---略---

 

とはいえ、システムは稼働しているという謎の状態でした。どうも確認すると、すべての設定が反映されていないようでした。

 

■/etc/nginx/default.d/にphp.confというのがいるのが原因

こちらに吸い込まれていたようです。結果、個別に設定したものは一切反映されなかった。という結論です。

何も設定しなくても稼働するように考慮されたみたいですね。CentOS7とかでインストールした場合は、この様なファイルは存在しなかったのでちょっと注意が必要です。