Posted
Filed under 프로그래밍
게임에서 사용하는 파일을들 CDN을 통해서 제공하다가 CDN사용료가 너무 많이 나오는 바람에
CDN처럼 사용할께 뭐가 있을까 하다가 찾아봤다.
어차피 nginx는 이미 사용하고 있던거고 해서..

참고로 이 방식은 Windows VISTA이후의 버전에서는 작동하지 않는다.
http://nginx.org/en/docs/windows.html#known_issues


http://wiki.nginx.org/ReverseProxyCachingExample

http {
    proxy_cache_path  /data/nginx/cache  levels=1:2    keys_zone=STATIC:10m
                                         inactive=24h  max_size=500m;
    server {
        location / {
            proxy_pass             http://1.2.3.4;
            proxy_set_header       Host $host;
            proxy_cache            STATIC;
            proxy_cache_valid      200  1d;
            proxy_cache_use_stale  error timeout invalid_header updating
                                   http_500 http_502 http_503 http_504;
        }
    }
}



keys_zone = 키를 저장할 공유 메모리 용량
inactive = 요청이 없을때 삭제할 시간
max_size = 캐시로 사용할 최대 디스크 용량


/data/nginx/cache 디렉토리를 메모리 디스크로 사용하고 싶다면

vi /etc/fstab 에서 아래 추가
tmpfs  /data/nginx/cache tmpfs size=500M    0       0

mount -a 하면 재부팅 하지 않아도 자동으로  마운트해준다.

제대로 작동한다면 아래와 같은 프로세스가 추가된다.

 root     18999  0.0  0.0  45536  1300 ?        Ss   Dec06   0:00 nginx: master process /usr/sbin/nginx www-data 19000  0.0  0.0  50088  7080 ?        S    Dec06   0:33  \_ nginx: worker process www-data 19001  0.0  0.0  50144  7080 ?        S    Dec06   0:33  \_ nginx: worker process www-data 19002  0.0  0.0  50112  7084 ?        S    Dec06   0:33  \_ nginx: worker process www-data 19003  0.0  0.0  50080  7080 ?        S    Dec06   0:34  \_ nginx: worker process www-data 19004  0.0  0.0  45732  1628 ?        S    Dec06   0:02  \_ nginx: cache manager process



http://kwonnam.pe.kr/wiki/nginx/proxy_cache
http://kilim.tistory.com/10
http://edendev.egloos.com/viewer/3257937
http://kray.jp/blog/nginx/
2013/12/06 14:27 2013/12/06 14:27