D
: FastDFS 다운로드
총 3개의 파일이 필요합니다
1. FastDFS 분산 파일 저장 시스템
2.libfastCommon Fastdfs 함수 라이브러리
3.fastddfs-nginx-module 연결 Nginx 함수 모듈
다운로드 시 부탁드립니다. 여기에서 다운로드한 형식은 tar.gz가 아니라 .zip입니다. 그 이유는 nginx를 통합하기 위해 fastdfs-nginx-module 모듈을 사용할 때 오류가 발생하기 때문입니다. 이유는 fastdfs 버전이 5.11 이상이어야 하기 때문입니다. 그렇지 않으면 nginx를 컴파일할 때 오류가 보고됩니다. 지침은 모듈의 설치 파일을 참조하세요. fastdfs가 공개한 최고 버전이 5.10에 불과하기 때문에 작성자가 5.11로 버전을 업데이트하지 않았습니다. 하지만 github의 코드는 업데이트되었으므로 직접 다운로드할 수 있습니다. 작성자의 github 주소는 다음과 같습니다
참고: zip 형식의 파일을 압축 해제하려면 시스템에 unzip 소프트웨어가 설치되어 있어야 합니다. 그렇지 않은 경우 다음 명령을 사용하여 설치할 수 있습니다: yum install zip unzip
yum install zip unzip
为了安装方便,操作过程中,可以切换到root权限进行操作
下载完成之后,将文件夹上传到服务器
再次提醒此处的都是zip格式的文件,使用命令 unzip filename
逐一解压每个zip文件。例如: unzip fastdfs-master
下面是解压后的情况,因为不喜欢带master 的后缀,在解压之后删除了。可以使用命令操作 mv oldfilename newfilename
例如: mv fastdfs-master fastdfs
<img src="https://img.php.cn/upload/article/000/887/227/168422662134669.png" alt="Nginx-1.13.3을 통합하기 위해 FastDFS를 설치하고 구성하는 방법">
二:安装fastdfs
1.安装fastdfs函数库
解压之后,先进入 libfastcommon
目录 cd libfastcommon
编译文件 ./make.sh
安装: ./make.sh install
安装完成之后,进入 fastdfs cd fastdfs
和 libfastcommon
同样的安装方式
编译文件 ./make.sh
安装: ./make.sh install
安装完成之后,可以看到两个目录,后面会使用到
三:配置
1.配置说明
配置文件请根据服务器的不同,进行不同的配置。本文中 tracker server, storage server 都安装在一台服务器上。
2.配置文件目录
在安装完成之后,在 /etc 下会生成一个 fdfs 文件夹,进入fast配置文件目录 cd /etc/fdfs/
。可以看到以 .sample 结尾的示例文件。
为了方便,使用命令删除以上所有文件 rm -f *
,然后复制 /fastdfs/conf 目录内所有文件到 /etc/fdfs 目录下。
注:/fastdfs/conf为解压后的fastdfs目录
3.配置和启动tracker server
打开 tracker.conf
文件 vim ./tracker.conf
, 修改base_path路径改成你自己的目录, 端口之类的没占用情况下就不修改了
修改完成之后,尝试启动tracker /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
注:base_path路径需要预先创建, 否则报错: error info: no such file or directory
命令执行之后,发现没有任何反应,接着使用命令 netstat -unltp|grep fdfs
,查看是否启动
可以看到tracker server 已经在22122端口监听
4.配置和启动storage server
接下来修改storage.conf配置文件 vim storage.conf
unzip filename
명령을 사용하세요. 예: unzip fastdfs-master
🎜🎜 다음은 압축을 푼 후의 상황입니다. master라는 접미사가 마음에 들지 않아서 압축을 푼 후 삭제했습니다. mv oldfilename newfilename
🎜🎜 명령 작업을 사용할 수 있습니다. 예: mv fastdfs-master fastdfs
🎜🎜<img src="https://img.php%20.cn/%20upload/article/000/887/227/168422662134669.png" alt="Nginx-1.13.3을 통합하기 위해 FastDFS를 설치 및 구성하는 방법">
🎜🎜🎜둘: fastdfs 설치🎜🎜🎜 1. fastdfs 함수 라이브러리 설치🎜🎜압축해제 후 먼저 libfastcommon
디렉터리 cd libfastcommon
🎜🎜 ./make.sh
파일을 컴파일🎜 🎜 설치 : /make.sh install🎜🎜설치가 완료된 후 fastdfs cd fastdfs
와 libfastcommon
과 동일한 설치방법을 입력하세요🎜🎜 컴파일파일 ./make.sh🎜🎜 설치: ./make.sh install
🎜🎜 설치가 완료되면 나중에 사용할 두 개의 디렉토리를 볼 수 있습니다🎜🎜🎜🎜🎜 세 가지: 구성🎜🎜🎜 1. 구성 지침🎜🎜 서버에 따라 구성 파일을 다르게 구성해 주세요. 이 문서에서는 트래커 서버와 스토리지 서버가 모두 하나의 서버에 설치됩니다. 🎜🎜 2. 구성 파일 디렉터리🎜🎜 설치가 완료되면 /etc 아래에 fdfs 폴더가 생성되며, 빠른 구성 파일 디렉터리 cd /etc/fdfs/
로 들어갑니다. .sample로 끝나는 샘플 파일을 볼 수 있습니다. 🎜🎜 🎜🎜 편의상 위의 파일 rm -f *
을 모두 삭제한 후, /fastdfs/conf 디렉터리에 있는 모든 파일을 /etc/fdfs 디렉터리로 복사하는 명령을 사용하세요. 🎜🎜 🎜🎜 참고: /fastdfs/conf는 압축이 풀린 fastdfs 디렉터리입니다. 🎜🎜 3. 추적기 서버 구성 및 시작 🎜🎜 tracker.conf
파일 vim ./tracker.conf
열기 > 그리고 수정하세요. base_path 경로를 자신의 디렉토리로 변경하세요. 포트 등이 비어 있으면 수정하지 마세요🎜🎜🎜🎜 수정이 완료된 후 tracker /usr/bin/fdfs_trackerd /etc를 시작해 보세요. /fdfs/tracker.conf start
🎜🎜참고: base_path 경로를 미리 생성해야 합니다. 그렇지 않으면 오류가 보고됩니다. 오류 정보: 해당 파일 또는 디렉터리가 없습니다🎜🎜 명령을 실행한 후 발견됩니다. 응답이 없으면 netstat -unltp|grep fdfs
명령을 사용하여 시작 여부를 확인하세요 🎜🎜 🎜🎜 트래커 서버가 이미 포트 22122🎜🎜 4에서 수신 대기하고 있는 것을 볼 수 있습니다. 구성 및 시작 the Storage Server🎜🎜 다음으로, Storage.conf 구성 파일 vim Storage.conf
를 수정하세요. 파일을 연 후, 동일한 경로로 base_path를 수정하고, 해당 위치에서 트래커 서버 주소와 store_path를 수정하세요. 같은 시간. 포트 주소와 그룹 이름은 변경되지 않습니다. 🎜
tracker 서버 주소:
store_path 주소:
참고: 위의 트래커 서버 주소를 서버의 해당 주소로 설정하세요. 포트가 수정되지 않은 경우 기본값으로 유지하십시오.
store_path 경로를 수정하지 않으면 스토리지 서버 서비스가 시작되지 않습니다. 메시지가 표시되지 않습니다. /fastdfs/logs 폴더에 있는 selected.log 파일을 열어 오류 메시지를 볼 수 있습니다.
자, 수정이 완료된 후 스토리지를 시작하고, /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
를 실행해 보았는데 역시 응답이 없습니다. 그런 다음 netstat -unltp|grep fdfs
명령을 사용하여 시작되었는지 확인하세요/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
,同样也是没有任何反应。接着使用命令 netstat -unltp|grep fdfs
看看是否启动
出现上图的情况,说明tracker server、storage server已经成功启动。
5.测试上传服务
接下来打开client.conf配置文件 vim client.conf
,只需要修改base_path和tracker_server两个地方即可。
当修改完成之后,试试能否上传文件,刚好目录有一张图片
使用命令将图片上传
/usr/bin/fdfs_test /etc/fdfs/client.conf upload ./anti-steal.jpg
当看到上面一长串的字符,ok 上传成功了。并成功返回了 图片地址。到存储目录下看看,发现多出了几张图片。其中一张图片和商品图片地址后缀一样,那么文件已经存储到本地。
虽然返回图片地址,但是现在的fastdfs已经不支持http协议。在4.0.5版本时候已经移除了 http支持,因此不能直接通过图片地址访问。所有我们通过fastdfs模块整合nginx,以提供http服务。
四.整合nginx和fastdfs
1. 整合模块
此处假设你已经安装过nginx及其依赖包,如果还没有安装nginx可以看我另一个文章:centos7 安装nginx
整合nginx不需要安装fastdfs模块,在配置nginx时候将fastdfs-nginx-module
vim client.conf
를 열고 base_path와 tracker_server만 수정하면 됩니다. 수정이 완료된 후 파일을 업로드해 보세요
명령을 사용하여 이미지를 업로드하세요
./configure --prefix=/opt/nginx --with-pcre=/home/mgame/soft/pcre-8.41 --with-openssl=/home/mgame/soft/openssl-1.1.0f --with-zlib=/home/mgame/soft/zlib-1.2.11 --add-module=/home/mgame/soft/fastdfs-nginx-module/src
이미지 주소가 반환되지만 현재 fastdfs는 더 이상 http 프로토콜을 지원하지 않습니다. 버전 4.0.5에서는 http 지원이 제거되어 이미지 주소를 통해 직접 접근할 수 없습니다. 우리는 모두 fastdfs 모듈을 통해 nginx를 통합하여 http 서비스를 제공합니다.
4. nginx와 fastdfs 통합
1. 통합 모듈
여기에서는 nginx와 해당 종속 패키지를 이미 설치했다고 가정합니다. 아직 nginx를 설치하지 않았다면 제 내용을 읽어보세요. 다른 글: centos7 설치 nginx
nginx 통합에는 fastdfs 모듈 설치가 필요하지 않습니다. nginx를 구성할 때 fastdfs-nginx-module
모듈만 추가하면 됩니다. 먼저 nginx 구성을 시작합니다. nginx 디렉터리에 구성 파일을 입력합니다
location /group1/m00 { ngx_fastdfs_module; }
Compile make
Install make install🎜🎜 설치 과정에서 다음과 같은 오류가 발생하면 모듈에 있는 설치 파일과 요구 사항을 확인하세요. fastdfs 버전(시작 부분 이 문서의 fastdfs 버전은 5.11 이상이어야 한다고 명시되어 있습니다). 🎜🎜 오류: 'fdfshttpparams'에는 'support_multi_range'(pcontext->range_count > 1 && !g_http_params.support_multi_range))🎜🎜🎜🎜🎜nginx에 모듈을 추가하고 설치한 후 nginx 설치로 이동합니다. 디렉토리 /opt/nginx/conf에서 nginx.conf 구성 파일을 엽니다. 🎜🎜🎜🎜🎜 참고: 여기의 nginx 디렉터리는 nginx를 구성할 때 설정됩니다. 해당 설정에 따라 파일을 열어주세요. 🎜🎜 파일에 다음 구성을 추가하고 다른 포트 설정은 변경하지 않습니다. 🎜rrreee🎜🎜🎜🎜 참고: /group 앞에 슬래시가 있어야 합니다. 그렇지 않으면 액세스 시 루트 경로가 nginx 설치 디렉터리가 됩니다. 🎜🎜 2. 모듈 매개변수 구성🎜🎜 설정이 완료된 후 지금 바로 nginx를 시작하면 이전에 성공적으로 업로드했던 이미지 주소에 여전히 접근할 수 없는 것을 발견하게 됩니다. 의아해했을 때 nginx에는 로그인 및 오류 메시지와 같은 세부 정보를 기록하는 로그 폴더가 있다고 생각했습니다. 🎜🎜 그럼 error.log 파일을 열어서 살펴보세요. 알았어 문제를 찾았어🎜🎜🎜🎜두 가지 명백한 오류가 있습니다. 첫 번째 줄은 오류의 원인을 설명합니다. /etc/fdfs/mod_fastdfs.conf 파일이 존재하지 않습니다. mod_fastdfs.conf 파일이 /etc/fdfs/ 디렉터리에 없습니다. 파일은 fastdfs-nginx-module
모듈의 src 디렉터리에 있습니다. 이제 파일 위치를 찾았으니 /fastdfs-nginx-module/src
디렉터리로 이동하여 mod_fastdfs.conf
/etc/fdfs/ 디렉터리에 복사 명령: cp mod_fastdfs.conf /etc/fdfs/
/fastdfs-nginx-module/src
目录下,将文件 mod_fastdfs.conf
复制到 /etc/fdfs/ 目录下 命令: cp mod_fastdfs.conf /etc/fdfs/
操作完成之后,打开刚刚拷贝的mod_fastdfs.conf 配置文件 vim mod_fastdfs.conf ,分别tracker_server、url_have_group_name、store_path0三个属性的参数
tracker_server:
url_have_group_name:
注:因为访问的地址中包含了组名group1,如果生成的地址中不包含组名,可以不用设置。
store_path0:
修改完成之后,进入 /opt/nginx/sbin
目录下,重新启动nginx ./nginx -s reload
tracker_server:
🎜 url_have_group_name:🎜🎜🎜🎜 참고: 액세스한 주소에 그룹 이름 group1이 포함되어 있으므로 생성된 주소에 그룹 이름은 설정할 필요가 없습니다. 🎜🎜 store_path0:🎜🎜🎜🎜 수정이 완료되면 /opt/nginx/sbin
디렉터리로 진입하여 nginx ./nginx -s reload
를 재시작한 후 접속하세요. 이전 업로드가 성공한 후 이미지 주소를 반환합니다. 🎜🎜🎜🎜🎜구성 후에는 fastdfs에 저장된 파일에 성공적으로 액세스할 수 있습니다. 🎜위 내용은 Nginx-1.13.3을 통합하기 위해 FastDFS를 설치하고 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!