データベースを接続し記事を選択するphpをスピードアップするために、nginxでfastcgi_cacheを使用しています。ここでnginxでfastcgi_cacheで多くのssiを使用する
は私の流れです:
まず、私は私のインデックスに-含まSSI追加します。その後、
<\!--# include file="/templates/1-5-list.html" -->
を、私は、HTML処理する場所のルートを追加 - nginxの-confの中に> PHPを
その後location ~(\d*?)-(\d*?)-list.html
{
try_files $uri /articles/list.php?p1=$1&p2=$2;
}
、私はlist.phpためfastcgi_cache
適用
# outside the server{}
fastcgi_cache_path /home/cache/articles levels=1 keys_zone=articles_cache:10m max_size=1024m inactive=1h;
fastcgi_cache_key $scheme$host$request_uri$request_method;
# outside the server{}
location ~/list.php$ {
fastcgi_cache articles_cache;
fastcgi_cache_valid 200 2h;
...
}
今はすべて正常ですし、キャッシュ機能もうまくいきます。私は、インデックス内の複数のSSIがある場合
しかし、:二SSIは最初のものとまったく同じ結果を返す
<\!--# include file="/templates/1-5-list.html" -->
<\!--# include file="/templates/2-5-list.html" -->
を、FAIL!
私はキャッシュディレクトリ内を検索し、キャッシングに使用するKEY
はhttplocalhost/articlesGET
であることがわかりました。つまり、この2つのSSIは同じKEY
を共有しています。そして、私はこれが原因だと思う。
私の質問は、KEY
が異なるようにfastcgi_cache_key
を変更するにはどうすればよいですか?私はlocation{}
の中にfastcgi_cache_key
を追加しようとしましたが失敗します。