2013年5月1日水曜日

Ubuntu12.04 + Nginx で、画像のリサイズを行う。

Nginx の HttpImageFilterModule で、サムネイル画像を作ってみます。

元の画像

http://3.bp.blogspot.com/-qn0m7KScp4A/TsTyX4cO5FI/AAAAAAAAANA/ooqc_7cGnis/s1600/NEC_0025.JPG

1.インストール


# apt-get install nginx

バージョンとモジュールの確認

# nginx -V

イメージフィルターのモジュールが入っています。すばらしい。
--with-http_image_filter_module

2.設定


キャッシュを使えるようにしておきます。

# mkdir /var/nginx
# cd /var/nginx
# mkdir cache
# mkdir temp

File: /etc/nginx/nginx.conf
--
http {
 proxy_cache_path /var/nginx/cache levels=1 keys_zone=cache1:15m max_size=50m inactive=7d;
 proxy_temp_path /var/nginx/temp;
--

levels    サブディレクトリ階層
keys_zone ゾーン名:メモリサイズ
max_size  ファイルサイズ(最大値)
inactive  キャッシュを保持する時間

File: /etc/nginx/sites-available/default
--
server {
 listen 80;
 server_name www.example.com;
 resolver 8.8.8.8;
 location /img/ {
  image_filter crop 100 100;
  proxy_cache cache1;
  proxy_cache_valid 200 1d;
  proxy_pass http://3.bp.blogspot.com/;
 }
--

resolver で、名前解決できるようにしておきます。
image_filter で、100x100 に変換し、proxy_cache で、キャッシュします。
proxy_pass で、元画像のURLを指定しています。

3.起動/停止


# /etc/init.d/nginx stop … 停止
# /etc/init.d/nginx start … 起動

4.動作確認


ブラウザから

http://www.example.com/img/-qn0m7KScp4A/TsTyX4cO5FI/AAAAAAAAANA/ooqc_7cGnis/s1600/NEC_0025.JPG

にアクセスすると、サムネイル画像を表示します。

参考


0 件のコメント:

コメントを投稿