■なぜだか【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とかでインストールした場合は、この様なファイルは存在しなかったのでちょっと注意が必要です。