WEBサーバーnginxのキャッシュで失敗した設定 proxy_cache fastcgi_temp
みなさん、こんにちは武智建樹です。
最近、暇があればnginxをポチポチ触っていろいろな設定を自分の目で見て楽しんでいます。
さて、今回はnginxのキャッシュに挑戦してみました。
wordpressの高速化!キャッシュについてのアレコレを参考に
バックグラウンドにapacheを使用したproxy_cacheや、php-fpmを使用したfastcgi_tempを
試してみました。
今までキャッシュファイルを作成するキャッシュ方法はあまり好きではありませんでした。
(ディスクアクセスによる遅延が発生しそうなので・・・)
ので、ついでにHDD・SSD?より高速なメモリディスクを利用したキャッシュ設定を試してみました。
最近のLinux OSでは、標準でメモリディスクが設定されているのかな?
tmpfs /dev/shm
デフォルトの/dev/shmをそのままnginxのキャッシュ置場として設定してもいいのですが
nginxのキャッシュを一瞬で削除したりしたいので、他のシステムのファイルが混合しないように
nginx専用のtmpfsを新しく作成しました。
/etc/fstab
------------------------------
↓ 追加
tmpfs /var/cache/nginx tmpfs defaults,noatime,mode=1777,size=256m 0 0
------------------------------
特に難しい設定もなくproxy_cacheやfastcgi_tempフォルダに、各キャッシュファイルがどんどん作成されていきます。
ブラウザーで確認してみると、数100倍くらいレスポンスが良くなっているのを確認できます。
しばらく様子を見ていると、ページが真っ白になって何も表示されない不具合に遭遇。あれ?
エラーファイルを確認すると、キャッシュが作成できないエラーが大量発生中・・・
なるほど!ディスクの空き容量がなくなると、古いファイルから自動で削除されるものだと
思っていました。(都合良すぎです。nginxに関係ないですもんね)
sizeを%で設定した方が良いのかな?
大容量のメモリーを搭載しているサーバーなら数GBを設定しておけば良いし
サイトのページ数(ボリューム)とキャッシュの有効期限を調整してみるのもいいかもしれませんね。
関連記事
WEBシステム開発におすすめなテキストエディター Sublime Textを使う

ここ最近は開発らしい仕事をしておらず そして、少し作業する際はvim、Eclipseでの開発が中心でした。 が、周りのスタッフをよくよく見るとWindowsでは無くMACパソコンで開発してたり IDE統合開発環境も何やら […]
バルミューダ greenfanは故障知らずのタフな扇風機かもしれない 24時間稼働

社内のファイルサーバーやテストサーバーをラックで運用している場合 設置場所にたいへん悩むと思います。 なぜ?悩むのか?それはサーバー本体のファンの音、サーバーを冷やすラックのファンの音が 掃除機数台を常時使っているような […]
開発者におすすめのフォント「Ricty」をWindows、MACでインストールする

開発という実務から遠ざかっていたので、2014年!今年は改めてシステム開発を初歩から学んでいこうと思っています。 開発現場の開発ツールを自分なりにいろいろ触れて挑戦していきます! 今回は、開発環境におすすめと話題のフォン […]
VMware Fusion 8の共有フォルダをWindowsからネットワークドライブ化する

MACとWindowsで製作中のコンテンツを共有してみたいと思い 今回いろいろと模索してみました。 VMware Fusion 8の共有フォルダに、制作物を保存している既存のフォルダを コピーして共有するのではなく シン […]
Windows 10 USB3.0の外付けHDDが接続されたりされなかったり

古いパソコンでWindows7からWindows10へ無償アップデートしたところ、USB3.0の接続機器で動作がすごく安定せず、USB3.0の増設ボードを追加したりしたが、やはり動作の不安定に変わりはなかった。 そこで、 […]
Google Chromeブラウザーで Facebookが表示できない!読み込みが終わらない

ある時から Google Chromeブラウザーで、Facebookのサイト(自分のタイムライン)にアクセスすると 永遠に読み込みが終わらない・・・エラーがでて、FacebookはIEなど他のブラウザーを利用するようにな […]