1 소개
FastDFS는 오픈 소스 경량 분산 파일 시스템을 관리합니다. 파일 및 그 기능에는 파일 저장, 파일 동기화, 파일 액세스(파일 업로드, 파일 다운로드) 등이 포함되어 대용량 저장 및 로드 밸런싱 문제를 해결합니다. 특히 사진 앨범 웹사이트, 동영상 웹사이트 등 파일 기반 온라인 서비스에 적합합니다.
FastDFS서버에는 두 가지 역할이 있습니다. 추적기(tracker)와 저장소 노드 (저장). 트래커는 주로 스케줄링 작업을 수행하며 액세스에서 로드 밸런싱 역할을 합니다.
2차 설치
1, 이 설치에는 3개의 장치가 사용됩니다.centos5.10 linux운영 체제
192.168.80.100 tracker Nginx(이 장치는 fastsfd-niginx플러그인을 설치하지 않습니다. )
192.168.80.101 저장 nginx
192.168.80.102 저장 nginx
운영 체제 여기서는 설치에 대해 말할 것이 많지 않습니다.
2, 컴파일 환경 준비yum -y install gcc gcc+ gcc-c++ openssl openssl-devel pcre pcre-devel 세 대의 머신을 모두 설치하고 두 명의 새로운 사용자를 생성합니다. fastdfs 및 nginx
useradd fastdfs -M -s /sbin/nologin useradd nginx -M -s /sbin/nologin
테스트 편의를 위해 방화벽을 꺼주세요service iptables stop
3, 소스코드 다운로드
노크 cd /usr/local/src/ 디렉토리에 들어가서 다음 명령을 실행하고 fastDFS 5.01
을 다운로드하세요.wget
다운로드 nginx 1.7.0
wget http://nginx.org/download/nginx-1.7.0.tar.gz
다운로드fastdfs-nginx-module_v1.16
wget http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1 .16.tar .gz
4, FastDFS 설치(3개 머신 모두 설치해야 함)
tar xf FastDFS_v5.01.tar.gz
cd FastDFS
./ make.sh && ./make.sh 설치
5, 압축 해제fastDFS-nginx-module
[root@ localhost ~]# cd /usr/local/src/
[root@localhost src]# tar xf fastdfs-nginx-module_v1.1 6 .tar.gz
6, 설치Nginx
192.168.80.100 tarcker 머신 설치
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# tar xf nginx -1. 7.0.tar.gz
[root@localhost src]# cd nginx-1.7. 0
[root@localhost nginx-1.7.0]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx
[root@localhost nginx -1.7.0]# make
[root@localhost nginx-1.7.0] #make install
192.168.80.101,102 stroage nginx 설치
[root@localhost ~]# cd /usr/local /src /
[root@localhost src]# tar xf nginx-1.7.0.tar.gz
[root@localhost src]# cd nginx-1.7.0
[root@localhost nginx- 1.7.0]# ./configure --user=nginx --group=nginx -- 접두사= /usr/local/nginx
--add-module=../fastdfs-nginx-module/src // 저장소 nginx
[root@localhost nginx-1.7.0]# make
[root@localhost nginx-1.7.0]# make install
3가지 구성
192.168.80.100 트래커 구성
1. 트래커데이터 및 로그 저장 디렉터리
를 생성합니다. [root@localhost ~]# mkdir -p /data/fastdfs/tracker
2, FastDFS의 tracker.conf 구성을 수정합니다. 파일
[root@localhost ~]# vim /etc/fdfs/tracker.conf
base_path=/ 데이터/fastdfs/tracker
max_c/span>
work_threads=8
store_lookup=0
store_path=0
reserved_storage_space=4G //
run_by_group= fastdfs
run_by_user=fastdfs
rotate_error_log=true
내 구성 분석을 참조하세요. tracker 구성 파일 분석
3 Nginx
의 구성 파일을 수정하는 기사 [root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
사용자 nginx nginx; //여기에 이미 설정된 사용자 및 그룹이 있습니다
worker_processes 3;
pid /usr/local/nginx/logs/nginx.pid;
Worker_rlimit_nofile 1024;
이벤트 {
epoll 사용; // epoll은 Linux 커널으로, 대량의 파일 설명자향상된 설문조사
worker_connections 1024;
}
http {
include mime.types;
default_type 애플리케이션/옥텟-스트림 ;
log_format 메인 '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer " '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /usr/local/nginx/logs/access.log main;
업스트림 서버_g1{
서버 192.168.80.101:80; //여기서 구성하는 것은 스토리지의 IP입니다. 는 여러
로 구성할 수 있습니다. 🎜>서버 192.168.80.102:80;
}서버 {
listen 80;
server_name localhost;
위치 /g1 {
proxy_redirect off;
proxy_set_header 호스트 $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header server_g1;
}
}
}
4.트래커를 서비스 관리용으로 설정하고 부팅 시 시작하도록 설정합니다.
[root@localhost ~ ]# cp /usr/local/src/FastDFS/init.d/fdfs_trackerd /etc/init.d /[root@localhost ~]# chkconfig --add fdfs_trackerd
[root@localhost ~]# chkconfig fdfs_trackerd on
구성
스토리지(각각 192.168.80.101,102에서 구성)
1, 데이터 저장 디렉토리 생성 [root@localhost ~]# mkdir -p /data/fastdfs/storage
/data
2,
FastDFS의 storage.conf
구성 파일을 수정합니다.[root@localhost ~]# vim /etc/fdfs/storage.confgroup_name=g1
base_path=/data/fastdfs
##작업자 스레드 수, 일반적으로
CPU번호
로 설정 work_threads=8store_path_count=1
store_path0=/data/fastdfs/storage
##tracker_server 주소
tracker_server=192.168.
80.100 :22122
##사용자 그룹 실행 FastDFS
run_by_group=fastdfs##사용자 실행
FastDFS
run_by_user=fastdfsfile_distribute_path_mode =1
rotate_error_log=true
3. nginx 모듈의 구성 파일을 /etc/fdfs에 복사하고 수정합니다
[root@localhost ~]# cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
[root@ localhost ~]# vim /etc/fdfs/mod_fastdfs.conf
c/span>
tracker_server=192.168.80.100:22122
group_name=g1
url_have_group_name = true
store_path_count =1
store_path0=/data/fastdfs/storage
4, 수정nginx구성 파일
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
사용자 nginx nginx;
worker_processes 8;
pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 1024;
이벤트 {
epoll 사용;
worker_connections 1024 ;
}
http {
include mime.types;
default_type 애플리케이션/옥텟-스트림;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /usr/local/nginx/logs/access.log main;
서버 {
listen 80;
server_name localhost;
위치 /g1/M00{
root /data/fastdfs/storage/ 데이터;
ngx_fastdfs_module;
}
}
}
5, 스토리지 를 에 넘겨주세요 [root@localhost ~]# cp /usr/local/src/FastDFS/init.d/fdfs_storaged /etc/init.d/
[root@localhost ~] # chkconfig --add fdfs_storaged
[root@localhost ~]# chkconfig fdfs_storaged on
[root@localhost ~]# service fdfs_storaged start 서비스
//소프트 연결 생성
에 대한 시작 관리 및 설정[ root@ localhost ~]# ln -s /data/fastdfs/storage/data /data/fastdfs/storage/data/M00
4개의 테스트
1, 192.168.80.100 , nginx에서 tracker
를 시작하세요[root@localhost ~]# 서비스 fdfs_trackerd 시작
[root@localhost ~]# /usr/local/nginx/sbin/nginx
2, storage 및 nginx
[ root@localhost ~]# 서비스 fdfs_storaged 시작[root@localhost ~]# /usr/local/nginx/sbin/nginx
3
클라이언트구성 tracker[root@localhost ~]# vim /etc/fdfs/client.conf
base_path=/data/ fastdfs
tracker_server=192.168.80.100:22122
4, 클러스터 세부 정보 보기
[ root@localhost ~]# fdfs_monitor /etc/fdfs/client.conf
5, 테스트 업로드
root@localhost ~]# fdfs_upload_file /etc/fdfs/client.conf aa.jpg
g1/M00 /AC/2F/wKgKDVMppoGAMCFNAAIFvJcyojY165.jpg
브라우저를 통해
http:// 192.168.
80.101/g1/M00/AC/2F/wKgKDVMppoGAMCFNAAIFvJcyojY165.jpghttp://192.168.
80.102