この記事は公開されてから8年経過しています。現在とは内容が異なる場合がありますのでご注意ください。
最新の記事や関連記事をお探しの方は下の「サイト内検索」で検索してみてください。
最新の記事や関連記事をお探しの方は下の「サイト内検索」で検索してみてください。
このブログも Nginx をつかっていますが、Nginx のキャッシュ機能を使えるというのが便利ですね。
AWS EC2 の Small 以上のインスタンスだと、インスタンスに付属しているエフェメラルディスクがあり、EBS に比べるとレスポンスもいいということなので、ここにキャッシュファイルを置くことにしました。
ですが、エフェメラルディスクはインスタンスが停止するとディスク内容がが消えるため、特定のディレクトリをインスタンス起動時に作成する必要があります。
なので、今回はそのスクリプトを作成してみました。
スクリプトを作成
1 |
# vi ~/bin/create_nginx_dir.sh |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#!/bin/bash # # インスタンス起動時に /mnt/ephemeral に nginx ディレクトリを作成する # # chkconfig: - 84 15 case "$1"; in start) if [ ! -d /mnt/ephemeral/nginx ]; then mkdir /mnt/ephemeral/nginx fi chown www /mnt/ephemeral/nginx ;; *) echo "Usage: $0 {start}" exit 2 esac exit |
/etc/init.d にシンボリックリンクをはる
1 2 |
# cd /etc/init.d # ln -s /root/bin/create_nginx_dir.sh ./create_nginx_dir |
service に登録する
1 2 3 4 |
# chkconfig --add create_nginx_dir # chkconfig create_nginx_dir on # chkconfig --list create_nginx_dir create_nginx_dir 0:off 1:off 2:on 3:on 4:on 5:on 6:off |
これで、インスタンス起動時に nginx のスタートより前に /mnt/ephemeral/nginx ディレクトリが作成されます。
あとは Nginx の設定で cache のパスを /mnt/ephemeral/nginx/cache とかにすると、Nginx スタートの時に cache ディレクトリが勝手に作成されます。