AWS + Nginx + WordPressのAMIMOTO開発時キャッシュが消えない時の対処法

  • 9
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

AMIMOTOを利用していて、キャッシュがなかなか消えなくて苦労していたので、まとめてみた。

基本

キャッシュ削除

$ sudo rm -rf /var/cache/nginx

キャッシュフォルダごと削除

nginxフォルダを作成してあげる

$ mkdir  /var/cache/nginx

nginx構文が正しいかを確認

nginx -t

下記のように出ればOK!

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

nginxの再起動

$ sudo /etc/init.d/nginx restart

本当は上記方法はあまり利用しない方が良いらしい・・・

$ sudo /etc/init.d/nginx stop
$ sudo /etc/init.d/nginx start

それでもダメな場合

nginxの設定を見直す

$ vi /etc/nginx/nginx.conf

inactiveが1000hとかになってると、
キャッシュが1000時間、つまり約16日間もの間キャッシュが残り続ける形となる。
1mとか5mとかの分単位にしてあげると開発環境としては楽。

nginx.conf
# proxy cache
proxy_cache_path  /var/cache/nginx/proxy_cache levels=1:2
                  keys_zone=czone:32m max_size=256m inactive=1m;

エラーが出る場合

nginx -tで下記エラーが出る場合がある。

Starting nginx: nginx: [warn] 2048 worker_connections exceed open file resource limit: 1024

利用可能なメモリー量やCPU時間などが足りない場合上記エラーが出る。
その為、足りなくなっている容量を確認し割り当てる必要がある。

$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 4469
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 4469
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

上記でエラーとなっている項目を確認し容量を増やしてやる。

$ ulimit -u 2048