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.jpg
group 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 를 높 은 열 로 준비 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.