天天看點

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

任務目标:搭建fastdfs

目标環境:ubuntu1804

安裝環境

安裝libfastcommon

#下載下傳并且解壓

$ wget https://github.com/happyfish100/libfastcommon/archive/master.zip

$ unzip master.zip

#編譯

$ ./make.sh

#安裝

$ ./make.sh install

建立軟連接配接

# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so

# ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so

# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

安裝FastDFS

#下載下傳并且解壓

$ wget https://github.com/happyfish100/fastdfs/archive/V5.11.zip

$ unzip V5.11.zip

#編譯

$ ./make.sh

#安裝

$ ./make.sh install

建立軟連結:

# ln -s /usr/bin/fdfs_trackerd   /usr/local/bin
# ln -s /usr/bin/fdfs_storaged   /usr/local/bin
# ln -s /usr/bin/stop.sh         /usr/local/bin
# ln -s /usr/bin/restart.sh      /usr/local/bin      

配置服務

建立目錄結構:

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

配置Tracker、Storage、Client、HTTP服務:

進入/etc/fdfs目錄。會看到三個.sample字尾的檔案,均是作者給我們的示例檔案,我們需要将其中的tracker.conf.sample檔案改為tracker.conf配置檔案并修改它

cd /etc/fdfs

ls

cp tracker.conf.sample tracker.conf # 配置跟蹤檔案

vi tracker.conf # 進入conf檔案

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs
ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

啟動:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

配置Storage服務

cd /etc/fdfs

cp storage.conf.sample storage.conf # 修改存儲路徑

vi storage.conf # 修改存儲檔案

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs
ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs
ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs
ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

啟動服務,檢視監聽:

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

netstat -unltp|grep fdfs #檢視服務

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

配置Client服務:

cd /etc/fdfs

cp client.conf.sample client.conf #修改用戶端路徑檔案

vi client.conf

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs
ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

配置HTTP服務:

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

測試Tracker 和 Storage 服務通信:

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

安裝nginx

配置nginx

[email protected]:/software/nginx-1.10.1# ls

auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  Makefile  man  objs  README  src

[email protected]:/software/nginx-1.10.1# ./configure --add-module=/software/fastdfs-nginx-module-master/src

編譯:

[email protected]:/software/nginx-1.10.1# make

出錯:

cc1: all warnings being treated as errors

objs/Makefile:467: recipe for target 'objs/src/core/ngx_murmurhash.o' failed

make[1]: *** [objs/src/core/ngx_murmurhash.o] Error 1

make[1]: Leaving directory '/software/nginx-1.10.1'

Makefile:8: recipe for target 'build' failed

make: *** [build] Error 2

解決:[email protected]:/software/nginx-1.10.1# vi objs/Makefile

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

出錯:

/usr/include/fastdfs/fdfs_define.h:15:27: fatal error: common_define.h: No such file or directory

解決:

[email protected]:/software/nginx-1.10.1# vi ../fastdfs-nginx-module-master/src/config

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

編譯成功:

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

安裝:

[email protected]:/software/nginx-1.10.1# make install
ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

安裝目錄:

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs
ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

啟動nginx:

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

檢視nginx程序:

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

配置mod-fastdfs.conf,并拷貝到/etc/fdfs檔案目錄下:

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

以下是編輯内容:

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs
ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

把fastdfs-5.05下面的配置中還沒有存在/etc/fdfs中的拷貝進去:

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

配置Nginx,編輯nginx.config

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs
ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

由于我們配置了group1/M00的通路,我們需要建立一個group1檔案夾,并建立M00到data的軟連結。

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

重新開機nginx:

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs
ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

測試上傳圖檔及浏覽器顯示

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs
ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

補充修改(更換項目目錄以及IP位址)

目錄:

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

storage.conf

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

mod_fastdfs.conf

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

Nginx.conf

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs

常用指令

啟動:

$ sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

$ sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

關閉fastdfs:

killall fdfs_trackered

killall fdfs_storaged

檢視運作狀态:$ sudo netstat -unltp|grep fdfs

監控狀态:fdfs_monitor /etc/fdfs/storage.conf

上傳檔案:/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/02.jpg

啟動nginx:$ sudo /usr/local/nginx/sbin/nginx

測試上傳:fdfs_test /etc/fdfs/client.conf upload test.txt

概念

什麼是主從檔案

主從檔案是指檔案ID有關聯的檔案,一個主檔案可以對應多個從檔案。

主檔案ID = 主檔案名 + 主檔案擴充名

從檔案ID = 主檔案名 + 從檔案字尾名 + 從檔案擴充名

使用主從檔案的一個典型例子:以圖檔為例,主檔案為原始圖檔,從檔案為該圖檔的一張或多張縮略圖。

FastDFS中的主從檔案隻是在檔案ID上有聯系。FastDFS server端沒有記錄主從檔案對應關系,是以删除主檔案,FastDFS不會自動删除從檔案。

删除主檔案後,從檔案的級聯删除,需要由應用端來實作。

主檔案及其從檔案均存放到同一個group中。

主從檔案的生成順序:

1)先上傳主檔案(如原檔案),得到主檔案ID

2)然後上傳從檔案(如縮略圖),指定主檔案ID和從檔案字尾名(當然還可以同時指定從檔案擴充名),得到從檔案ID

Python & fastdfs

安裝(https://github.com/jefforeilly/fdfs_client-py)

  1. $ git clone https://github.com/jefforeilly/fdfs_client-py.git
  2. $ sudo python3 setup.py install
  3. $ pip3 install mutagen
  4. 測試

1. import fdfs_client.client module

2. instantiate class Fdfs_client

3. call memeber functions

>>> from fdfs_client.client import *

>>> client = Fdfs_client('/etc/fdfs/client.conf')

>>> ret = client.upload_by_filename('test')

ubuntu1804搭建fastdfs任務目标:搭建fastdfs目标環境:ubuntu1804安裝環境配置服務安裝nginx測試上傳圖檔及浏覽器顯示補充修改(更換項目目錄以及IP位址)常用指令概念Python & fastdfs