こちらの続きです。
http://yamayoshi.blogspot.jp/2013/05/ubuntu1204-nginx.html
やりたいこと。
・任意のサイズを指定
・任意のアドレスを指定
元の画像: http://<アドレス>/<パス>/<ファイル>
↓
リサイズ: http://<変換サーバのアドレス>/g<サイズ>/<アドレス>/<パス>/<ファイル>
1.インストール
$ sudo apt-get install nginx
2.設定
FILE: /etc/nginx/conf.d/<app>.conf
--
server {
listen 80;
server_name www.example.com;
resolver localhost;
location / {
uwsgi_pass unix:/tmp/<app>.sock;
include uwsgi_params;
}
location ~ ^/g(?P<size>[^/]+)/(?P<url>[^/]+)/(?P<file>.*)$ {
rewrite ^ /crop last;
}
location /crop {
image_filter crop $size $size;
proxy_pass http://$url/$file;
add_header Nginx "$size $url $file";
}
}
--
ちょこっと説明
> location ~ ^/g(?P<size>[^/]+)/(?P<url>[^/]+)/(?P<file>.*)$
→ サイズ、アドレス、ファイル(パスを含む) の情報を取り出して、変数に格納します。
> image_filter crop $size $size;
→ 変換サイズを指定
> proxy_pass http://$url/$file;
→ 元の画像ファイルを指定
> add_header Nginx "$size $url $file";
→ おまけ(HTTP_HEADERに変数を出力し、Chrome開発ツールで確認。)
3.起動/停止
$ sudo service nginx stop … 停止
$ sudo service nginx start … 起動
4.動作確認
ブラウザから、
http://www.example.com/g160/3.bp.blogspot.com/-qn0m7KScp4A/TsTyX4cO5FI/AAAAAAAAANA/ooqc_7cGnis/s1600/NEC_0025.JPG
にアクセスすると、
http://3.bp.blogspot.com/-qn0m7KScp4A/TsTyX4cO5FI/AAAAAAAAANA/ooqc_7cGnis/s1600/NEC_0025.JPG
のサムネイル画像を表示します。
キャッシュを使う場合は、前回の記事を参考に。
0 件のコメント:
コメントを投稿