FastDFS 군집

6601 단어
Centos 7 설치 FastDFS
CentOS 7 설치 Nginx
FastDFS 와 Nginx 통합
Nginx + Keepalived 메 인 전환 실현
1. 설치 환경 및 버 전
CentOS 7 가상 컴퓨터 3 개
트 래커 2 개, storage 3 개.
3 개의 nginx, 가상 ip 은 192.168.200.99 이다.
192.168.200.100(centos-100)
192.168.200.101(centos-101)
192.168.200.102(centos-102)
tracker
tracker
storage(group1)
storage(group1)
storage(group2)
nginx
nginx
nginx
2. tacker 설정$ vi /etc/fdfs/tracker.conf
store_lookup=2 #0   ,1    ,2     ,
#store_group=group2 #  store_lookup=1.        ,          

세 대의 tracker 설정 이 같 습 니 다.
3. 저장 소 설정$ vi /etc/fdfs/storage.conf
tracker_server=centos-100:22122
tracker_server=centos-101:22122

group_name=group1 #    
port=23000 #storage     ,      storage        
$ service fdfs_trackerd restart && service fdfs_storaged restart
storage 로 그 를 보 니 centos - 101 호스트 의 tacker 가 leader 로 선택 되 었 습 니 다.
set tracker leader: 192.168.200.101:22122

centos - 100 호스트 의 storage 로그 에서 storage 가 centos - 101 의 storage 에 성공 적 으로 연결 되 었 습 니 다. 그들 은 모두 group 1 이기 때 문 입 니 다.
successfully connect to storage server 192.168.200.101:23000

traker 로그 에서 도 centos - 102 호스트 의 tacker 가 leader 로 선 정 된 것 을 발견 했다.
the tracker leader is 192.168.200.102:22122

4. 테스트
tracker leader centos - 101 service fdfs_trackerd stop 을 끄 고 tracker leader 가 centos - 100 으로 성공 적 으로 바 뀌 었 고 centos - 101 도 연결 되 지 않 았 다.
#storage   
set tracker leader: 192.168.200.100:22122
connect to tracker server 192.168.200.101:22122 fail, errno: 111, error info: Connection refused
#tracker   
the tracker leader is 192.168.200.100:22122

centos - 101 의 tracker 를 다시 시작 합 니 다. service fdfs_trackerd start storage 가 성공 적 으로 연결 되 었 으 나 tracker leader 를 바 꾸 지 않 았 습 니 다.
successfully connect to tracker server 192.168.200.101:22122

클 러 스 터 정보 보기: $ /usr/bin/fdfs_monitor /etc/fdfs/storage.conf$ vi client.conf
tracker_server=centos-100:22122
tracker_server=centos-101:22122

테스트 업로드: $ /usr/bin/fdfs_test /usr/java/fastdfs/conf/client.conf upload 1.jpggroup 1 에 올 린 그림 은 두 호스트 에서 모두 조회 할 수 있 습 니 다.$ cd / && find -name wKjIZlyK-sKAYMX3AADtXa53YW0412.PNG
5, 설치 ngxcache_순수 모듈$ cd /usr/java $ wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz $ tar -zxvf ngx_cache_purge-2.3.tar.gz $ mv ngx_cache_purge-2.3 ngx_cache_purge
설치 모듈 $ ./configure --prefix=/usr/java/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/usr/java/fastdfs-nginx-module/src --add-module=/usr/java/ngx_cache_purge 을 위해 nginx 를 다시 컴 파일 해 야 합 니 다.
6. nginx 설정$ vi /etc/fdfs/mod_fastdfs.conf
tracker_server=centos-100:22122
tracker_server=centos-101:22122

group_name=group1 #    
group_count = 2

[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/home/fastdfs/fdfs_storage

[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/home/fastdfs/fdfs_storage
$ vi /usr/java/nginx/conf/nginx.conf
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;  
    tcp_nopush      on;  
    keepalive_timeout  65;

    #      
    server_names_hash_bucket_size 128;  
    client_header_buffer_size 32k;  
    large_client_header_buffers 4 32k;  
    client_max_body_size 300m;  
  
    proxy_redirect off;  
    proxy_set_header Host $http_host;  
    proxy_set_header X-Real-IP $remote_addr;  
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
    proxy_connect_timeout 90;  
    proxy_send_timeout 90;  
    proxy_read_timeout 90;  
    proxy_buffer_size 16k;  
    proxy_buffers 4 64k;  
    proxy_busy_buffers_size 128k;  
    proxy_temp_file_write_size 128k;
    #        ,    ,      ,      ,      
    proxy_cache_path /home/fastdfs/cache/nginx/proxy_cache levels=1:2 
    keys_zone=http-cache:200m max_size=1g inactive=30d;
    proxy_temp_path /home/fastdfs/cache/nginx/proxy_cache/tmp;
    #group1       
    upstream fdfs_group1 {  
         server centos-100:8888 weight=1 max_fails=2 fail_timeout=30s;  
         server centos-101:8888 weight=1 max_fails=2 fail_timeout=30s;  
    }
     upstream fdfs_group2 {  
         server centos-102:8888 weight=1 max_fails=2 fail_timeout=30s; 
    }
    server {
        listen       80;
        server_name  localhost;

        #group1         
        location /group1/M00 {  
            proxy_next_upstream http_502 http_504 error timeout invalid_header;  
            proxy_cache http-cache;  
            proxy_cache_valid 200 304 12h;  
            proxy_cache_key $uri$is_args$args;  
            #  group1       
            proxy_pass http://fdfs_group1;  
            expires 30d;  
        }
        location /group2/M00 {  
            proxy_next_upstream http_502 http_504 error timeout invalid_header;  
            proxy_cache http-cache;  
            proxy_cache_valid 200 304 12h;  
            proxy_cache_key $uri$is_args$args;  
            #  group2       
            proxy_pass http://fdfs_group2;  
            expires 30d;  

         }

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page  404              /404.html;

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    #    storage
    server {
        listen       8888;
        server_name  localhost2;

        location /group1/M00 {  
            root /home/storage/fdfs_storage/data;
            ngx_fastdfs_module;
         }

        location ~/purge(/.*) {  
            allow 127.0.0.1;  
            allow 192.168.200.0/24;  
            deny all;  
            proxy_cache_purge http-cache $1$is_args$args;  
        }  
        
    }
$ mkdir -p /home/fastdfs/cache/nginx/proxy_cache $ mkdir -p /home/fastdfs/cache/nginx/proxy_cache/tmp
nginx 와 keepalived 를 다시 시작 합 니 다.
가상 ip 192.168.200.99 를 통 해 방문
http://192.168.200.99/group1/M00/00/00/wKjIZVyLMi6AH08jAADtXa53YW0605.PNG
keepalived + nginx 는 다 중 tracker 를 높 은 열 로 준비 합 니 다.

좋은 웹페이지 즐겨찾기