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

PHP는 현대적인 프로그래밍, 특히 웹 개발 분야에서 강력하고 널리 사용되는 도구로 남아 있습니다. 1) PHP는 사용하기 쉽고 데이터베이스와 완벽하게 통합되며 많은 개발자에게 가장 먼저 선택됩니다. 2) 동적 컨텐츠 생성 및 객체 지향 프로그래밍을 지원하여 웹 사이트를 신속하게 작성하고 유지 관리하는 데 적합합니다. 3) 데이터베이스 쿼리를 캐싱하고 최적화함으로써 PHP의 성능을 향상시킬 수 있으며, 광범위한 커뮤니티와 풍부한 생태계는 오늘날의 기술 스택에 여전히 중요합니다.

PHP에서는 약한 참조가 약한 회의 클래스를 통해 구현되며 쓰레기 수집가가 물체를 되 찾는 것을 방해하지 않습니다. 약한 참조는 캐싱 시스템 및 이벤트 리스너와 같은 시나리오에 적합합니다. 물체의 생존을 보장 할 수 없으며 쓰레기 수집이 지연 될 수 있음에 주목해야합니다.

\ _ \ _ 호출 메소드를 사용하면 객체를 함수처럼 호출 할 수 있습니다. 1. 객체를 호출 할 수 있도록 메소드를 호출하는 \ _ \ _ 정의하십시오. 2. $ obj (...) 구문을 사용할 때 PHP는 \ _ \ _ invoke 메소드를 실행합니다. 3. 로깅 및 계산기, 코드 유연성 및 가독성 향상과 같은 시나리오에 적합합니다.

섬유는 PHP8.1에 도입되어 동시 처리 기능을 향상시켰다. 1) 섬유는 코 루틴과 유사한 가벼운 동시성 모델입니다. 2) 개발자는 작업의 실행 흐름을 수동으로 제어 할 수 있으며 I/O 집약적 작업을 처리하는 데 적합합니다. 3) 섬유를 사용하면보다 효율적이고 반응이 좋은 코드를 작성할 수 있습니다.

PHP 커뮤니티는 개발자 성장을 돕기 위해 풍부한 자원과 지원을 제공합니다. 1) 자료에는 공식 문서, 튜토리얼, 블로그 및 Laravel 및 Symfony와 같은 오픈 소스 프로젝트가 포함됩니다. 2) 지원은 StackoverFlow, Reddit 및 Slack 채널을 통해 얻을 수 있습니다. 3) RFC에 따라 개발 동향을 배울 수 있습니다. 4) 적극적인 참여, 코드에 대한 기여 및 학습 공유를 통해 커뮤니티에 통합 될 수 있습니다.

PHP와 Python은 각각 고유 한 장점이 있으며 선택은 프로젝트 요구 사항을 기반으로해야합니다. 1.PHP는 간단한 구문과 높은 실행 효율로 웹 개발에 적합합니다. 2. Python은 간결한 구문 및 풍부한 라이브러리를 갖춘 데이터 과학 및 기계 학습에 적합합니다.

PHP는 죽지 않고 끊임없이 적응하고 진화합니다. 1) PHP는 1994 년부터 새로운 기술 트렌드에 적응하기 위해 여러 버전 반복을 겪었습니다. 2) 현재 전자 상거래, 컨텐츠 관리 시스템 및 기타 분야에서 널리 사용됩니다. 3) PHP8은 성능과 현대화를 개선하기 위해 JIT 컴파일러 및 기타 기능을 소개합니다. 4) Opcache를 사용하고 PSR-12 표준을 따라 성능 및 코드 품질을 최적화하십시오.

PHP의 미래는 새로운 기술 트렌드에 적응하고 혁신적인 기능을 도입함으로써 달성 될 것입니다. 1) 클라우드 컴퓨팅, 컨테이너화 및 마이크로 서비스 아키텍처에 적응, Docker 및 Kubernetes 지원; 2) 성능 및 데이터 처리 효율을 향상시키기 위해 JIT 컴파일러 및 열거 유형을 도입합니다. 3) 지속적으로 성능을 최적화하고 모범 사례를 홍보합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
