nignx 이미지 서버 부하 균형 및 캐 시 구현

3268 단어 nginx
회 사 는 아 리 클 라 우 드 서버 에서 자신의 서버 로 사진 을 옮 기 는 동시에 새로운 이미지 저장 시스템 을 구축 하고 싶 습 니 다.
처음에는 FastDFS 를 사용 하려 고 했 지만 FastDFS 는 자신의 파일 이름 생 성 규칙 이 있 습 니 다. 저희 사 이 트 는 이미 많은 그림 이 있 습 니 다. 모든 그림 이 다시 생 성 되면 작업량 이 많 습 니 다.시간 적 인 이유 로 nginx 를 임시로 사용 하여 실현 하 였 다.
 
서버 3 대 를 사 용 했 고 서버 마다 nginx 가 설치 되 어 있 습 니 다.사용자 가 해당 그림 을 방문 할 때 자신 이 정의 한 nginx location 의 hash 규칙 에 따라 2012 년 의 그림 은 한 기계 에 투사 되 고 2013 년 의 그림 은 다른 기계 에 투사 된다.
 
nginx 는 웹 캐 시 를 지원 하기 때문에 그림 이 임시로 바 뀔 수 있 음 을 고려 하여 캐 시 를 지 울 수 있 는 구성 요소 ngx 가 필요 합 니 다.cache_puge。
 
 
#      
wget http://labs.frickle.com/files/ngx_cache_purge-2.0.tar.gz
tar zxvf ngx_cache_purge-2.0.tar.gz
#   nginx         
./configure --add-module=../ngx_cache-2.0 --prefix=/usr/local/nginx
make 
make install
 
 
나 는 Purge - 1.0 을 make 에서 잘못 보 고 했 는데 나중에 nginx 버 전이 호 환 되 지 않 는 문 제 를 고려 하여 2.0 으로 바 꾼 후에 잘못 보 고 를 하지 않 았 다.
 
쓸데없는 소리 하지 말고 nginx 프로필 로 바로 올 라 가세 요.
입구 nginx 설정 담당 이틀 기계 에 배포
 
#                  
proxy_temp_path /home/data0/proxy_temp_path;
proxy_cache_path /home/data0/proxy_cache_path levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;

#            nginx   web  
upstream pic1{
          server 192.168.2.6:8080;
}

upstream pic2{
        server 192.168.2.2:8080;
}

server {
        listen       8080;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        #       ,        ,       
        location ~ /purge(/.*){


            #allow 127.0.0.1;
            #allow 192.168.2.6;
            #deny  all;
            proxy_cache_purge cache_one $host$1$is_args$args;
         }

location ~ /{

        proxy_cache cache_one;
        proxy_cache_valid 200 304 12h;
        proxy_cache_valid 301 302 1m;
        proxy_cache_valid any 1m;

        #          /2013/     pic1
        proxy_cache_key $host$uri$is_args$args;
        if ( $request_uri ~* "\w*\/2013\/\w*\.(ico|gif|bmp|jpg|jpeg|png|swf)$"){
                proxy_pass http://pic1;
         }
        if ( $request_uri ~* "\w*\/2012\/\w*\.(ico|gif|bmp|jpg|jpeg|png|swf)$"){
                proxy_pass http://pic2;
         }
         proxy_pass http://pic2;
        }
}
 
 
  그림 서버 nginx 설정, 이 fastdfs 와 유사 한 storage 노드 는 서버 의 / home / www 경 로 를 반영 합 니 다.
 
 
 server {
        listen       8080;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /home/www;
            index  index.html index.htm;
        }
}
 
 
이렇게 하면 경 로 를 통 해 이미지 서버 의 그림 에 접근 할 수 있다.그림 에 12 시간 캐 시 를 합 니 다.캐 시 를 지 워 야 할 때 그림 의 경로 앞 에 / puge 를 추가 하고 실행 하면 됩 니 다.그림 경로 그러면 캐 시 를 지 우 는 경 로 는...http://img.naomi.cn/purge/pic/2012/100.jpg。
 
 
 
 
 

좋은 웹페이지 즐겨찾기