Fastdfs5.11 單機版安裝使用

本次安裝的版本是目前最新版本Version 5.11 2017-05-26,基于centos7+
所需安裝包在附件中,版本如下:

  • fastdfs-5.11
  • fastdfs-nginx-module-1.20
  • libfastcommon-1.36
  • nginx-1.12.0

1. 安裝libfastcommon

由于CentOS7是最小化安裝,沒有安裝zip解壓。
先安裝 :

yum -y install unzip zip

安裝成功后解壓libfastcommon-master.zip

unzip libfastcommon-master.zip

進入我們剛剛解壓的目錄:

[root@localhost ftp]# cd libfastcommon-master
[root@localhost libfastcommon-master]# ll
total 32
drwxr-xr-x 2 root root  117 Apr  5 18:07 doc
-rw-r--r-- 1 root root 8005 Apr  5 18:07 HISTORY
-rw-r--r-- 1 root root  566 Apr  5 18:07 INSTALL
-rw-r--r-- 1 root root 1606 Apr  5 18:07 libfastcommon.spec
-rwxr-xr-x 1 root root 3099 Apr  5 18:07 make.sh
drwxr-xr-x 2 root root  191 Apr  5 18:07 php-fastcommon
-rw-r--r-- 1 root root 2763 Apr  5 18:07 README
drwxr-xr-x 3 root root 4096 Jun  8 21:51 src

當我們./make.sh的時候會提示,gcc命令沒有找到。

用yum安裝gcc:

yum -y install gcc-c++

這個時候分別執行./make.sh和./make.sh install,正常情況是可以成功的。
libfastcommon默認會被安裝到/usr/lib64/libfastcommon.so
但是FastDFS的主程序卻在/usr/local/lib目錄下
這個時候我們就要建立一個軟鏈接了,實際上也相當于windows上的快捷方式。

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

1.2安裝FastDFS

解壓FastDFS安裝包

unzip fastdfs-5.11.zip

解壓后看到:

[root@localhost ftp]# ls
593d8f1eN5b3b8133.jpg            libfastcommon-master
fastdfs-5.11                     libfastcommon-master.zip
fastdfs-5.11.zip                 nginx-1.12.0.tar.gz
fastdfs-client-java-master.zip   record.txt
fastdfs-nginx-module-master.zip  zookeeper-3.4.6.tar.gz

進到剛解壓的目錄

cd fastdfs-5.11
./make.sh
./make.sh install

如果沒有報錯那么就成功了。安裝log中會提示FastDFS安裝到了/etc/fdfs目錄下。

成功后查看安裝目錄:

[root@localhost ftp]# cd /etc/fdfs/
[root@localhost fdfs]# ll
-rw-r--r-- 1 root root  1461 Jun  8 21:56 client.conf.sample
-rw-r--r-- 1 root root  7927 Jun  8 21:56 storage.conf.sample
-rw-r--r-- 1 root root  7389 Jun  8 21:56 tracker.conf.sample

我們需要把這三個示例文件復制一份,去掉.sample。

cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf

FastDFS安裝結束。

1.3安裝tracker

1.3.1創建tracker工作目錄

這個目錄可以自定義,用來保存tracker的data和log
根據個人習慣,我創建了下面的目錄:

[root@localhost ~]# cd /usr/
[root@localhost usr]# mkdir yong.cao
[root@localhost usr]# cd yong.cao/
[root@localhost yong.cao]# mkdir dev
[root@localhost yong.cao]# cd dev/
[root@localhost dev]# mkdir fastdfs
[root@localhost yong.cao]# cd fastdfs/
[root@localhost dev]# mkdir fastdfs_tracker
[root@localhost fastdfs]# cd fastdfs_tracker/
[root@localhost fastdfs_tracker]# pwd
/usr/yong.cao/dev/fastdfs/fastdfs_tracker        #這個是我最終創建的目錄
[root@localhost fastdfs_tracker]#

1.3.2配置tracker

cd /etc/fdfs
vim tracker.conf

最小化的CentOS7是沒有安裝vim的,可以把vim tracker.conf命令改成vi tracker.conf,也可以去下載一個vim

yum -y install vim    

打開后重點關注下面4個配置:
1.disabled=false #默認開啟
2.port=22122 #默認端口號
3.base_path=/usr/yong.cao/dev/fastdfs/fastdfs_tracker #我剛剛創建的目錄
4.http.server_port=6666 #默認端口是8080

1.3.3啟動tracker

保存配置后啟動tracker,命令如下:

service fdfs_trackerd start

如果不能啟動,或提示用systemctl可改用命令:

systemctl start fdfs_trackerd

成功后應該可以看到:

[root@localhost fdfs]# service fdfs_trackerd start
Starting fdfs_trackerd (via systemctl):                    [  OK  ]

進行剛剛創建的tracker目錄,發現目錄中多了data和log兩個目錄

[root@localhost fdfs]# cd /usr/yong.cao/dev/fastdfs/fastdfs_tracker/
[root@localhost fastdfs_tracker]# ll
total 0
drwxr-xr-x 2 root root 178 Jun 16 21:19 data
drwxr-xr-x 2 root root  26 Jun 13 22:01 logs

最后我們需要給tracker加入開機啟動

[root@localhost fastdfs_tracker]# ll /etc/rc.d/rc.local
-rw-r--r-- 1 root root 501 Jun 16 21:34 /etc/rc.d/rc.local

發現并沒有執行權限,需要加一下:

chmod +x /etc/rc.d/rc.local

加完后應該是這樣的:

-rwxr-xr-x 1 root root 501 Jun 16 21:34 /etc/rc.d/rc.local
修改rc.local
vim /etc/rc.d/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local
service fdfs_trackerd start

查看一下tracker的端口監聽情況

[root@localhost fastdfs_tracker]# netstat -unltp|grep fdfs
tcp        0      0 0.0.0.0:22122           0.0.0.0:*               LISTEN      2231/fdfs_trackerd

端口22122成功監聽。

1.4 安裝storage

storage的安裝與tracker很類似。

1.4.1 為storage配置工作目錄

與tracker不現的是,由于storage還需要一個目錄用來存儲數據,所以我另外多建了一個fasdfs_storage_data
下面是我的目錄結構:

[root@localhost fastdfs]# ls
fastdfs_storage  fastdfs_storage_data  fastdfs_tracker
1.4.2 修改storage配置文件

修改storage.conf

vim /etc/fdfs/storage.conf

1.disabled=false
2.group_name=group1 #組名,根據實際情況修改
3.port=23000 #設置storage的端口號,默認是23000,同一個組的storage端口號必須一致
4.base_path=/usr/yong.cao/dev/fastdfs/fastdfs_storage #設置storage數據文件和日志目錄
5.store_path_count=1 #存儲路徑個數,需要和store_path個數匹配
6.base_path0=/usr/yong.cao/dev/fastdfs/fastdfs_storage_data #實際文件存儲路徑
7.tracker_server=192.168.128.131:22122 #我CentOS7的ip地址
8.http.server_port=8888 #設置 http 端口號

修改保存后創建軟引用

ln -s /usr/bin/fdfs_storaged /usr/local/bin
1.4.3 啟動storage
service fdfs_storaged start

如果不能啟動,或提示用systemctl可改用命令:

systemctl start fdfs_storaged

成功后應該可以看到:

[root@localhost fdfs]# service fdfs_stroaged start
Starting fdfs_storaged (via systemctl):                    [  OK  ]

同樣的,設置開機啟動:
修改rc.local

vim /etc/rc.d/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local
service fdfs_trackerd start
service fdfs_storaged start

查看一下服務是否啟動

[root@localhost fastdfs]# netstat -unltp | grep fdfs
tcp        0      0 0.0.0.0:22122           0.0.0.0:*               LISTEN      2231/fdfs_trackerd
tcp        0      0 0.0.0.0:23000           0.0.0.0:*               LISTEN      2323/fdfs_storaged

服務已正常啟動。

1.4.4 校驗整合

到這里,fastdfs的東西都已安裝完成,最后我們還要確定一下,storage是否注冊到了tracker中去。
查看命令:

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

成功后可以看到:
ip_addr = 192.168.128.131 (localhost.localdomain) ACTIVE

[root@localhost fastdfs]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
[2017-06-17 14:15:44] DEBUG - base_path=/usr/yong.cao/dev/fastdfs/fastdfs_storage, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0
server_count=1, server_index=0
tracker server is 192.168.128.131:22122
group count: 1
Group 1:
group name = group1
disk total space = 8178 MB
disk free space = 6463 MB
trunk free space = 0 MB
storage server count = 2
active server count = 1
storage server port = 23000
storage HTTP port = 8888
store path count = 1
subdir count per path = 256
current write server index = 0
current trunk file id = 0
        Storage 1:
                id = 192.168.128.131
                ip_addr = 192.168.128.131 (localhost.localdomain)  ACTIVE
                http domain =
                version = 5.11
                join time = 2017-06-13 22:19:42
                up time = 2017-06-16 21:19:47
                total storage = 8178 MB
                free storage = 6463 MB
                upload priority = 10
                store_path_count = 1
                subdir_count_per_path = 256
                storage_port = 23000
                storage_http_port = 8888
                current_write_path = 0
                source storage id =
                if_trunk_server = 0
                connection.alloc_count = 256
                connection.current_count = 0
                connection.max_count = 1
                total_upload_count = 6
                success_upload_count = 6
                total_append_count = 0
                success_append_count = 0
                total_modify_count = 0
                success_modify_count = 0
                total_truncate_count = 0
                success_truncate_count = 0
                total_set_meta_count = 5
                success_set_meta_count = 5
                total_delete_count = 0
                success_delete_count = 0
                total_download_count = 0
                success_download_count = 0
                total_get_meta_count = 0
                success_get_meta_count = 0
                total_create_link_count = 0
                success_create_link_count = 0
                total_delete_link_count = 0
                success_delete_link_count = 0
                total_upload_bytes = 590790
                success_upload_bytes = 590790
                total_append_bytes = 0
                success_append_bytes = 0
                total_modify_bytes = 0
                success_modify_bytes = 0
                stotal_download_bytes = 0
                success_download_bytes = 0
                total_sync_in_bytes = 0
                success_sync_in_bytes = 0
                total_sync_out_bytes = 0
                success_sync_out_bytes = 0
                total_file_open_count = 6
                success_file_open_count = 6
                total_file_read_count = 0
                success_file_read_count = 0
                total_file_write_count = 6
                success_file_write_count = 6
                last_heart_beat_time = 2017-06-17 14:15:27
                last_source_update = 2017-06-16 23:34:20
                last_sync_update = 1970-01-01 08:00:00
                last_synced_timestamp = 1970-01-01 08:00:00
[root@localhost fastdfs]#

2.測試

前面兩篇博文已對FastDFS的安裝和配置,做了比較詳細的講解。FastDFS的基礎模塊都搭好了,現在開始測試下載。

2.1 配置客戶端

同樣的,需要修改客戶端的配置文件:

vim /etc/fdfs/client.conf
  1. base_path=/usr/yong.cao/dev/fastdfs/fastdfs_tracker #tracker服務器文件路徑
  2. tracker_server=192.168.128.131:22122 #tracker服務器IP地址和端口號
  3. http.tracker_server_port=6666 # tracker 服務器的 http端口號,必須和tracker的設置對應起來

通過ftp上傳圖片到CentOS:

img

在我的windows上,我隨便拖了一張圖片上去。

[root@localhost ~]# ll /usr/yong.cao/ftp/
total 19320
-rw-r--r--   1 root root    88623 Jun 13 22:33 593d8f1eN5b3b8133.jpg
drwxr-xr-x  10 root root      258 Jun 14 01:26 fastdfs-5.11
-rw-r--r--   1 root root   421773 Jun 17 09:34 fastdfs-5.11.zip
-rw-r--r--   1 root root    75491 Jun 17 09:34 fastdfs-client-java-master.zip
-rw-r--r--   1 root root    22192 Jun 17 09:34 fastdfs-nginx-module-master.zip
drwxr-xr-x   5 root root      135 Jun  8 21:51 libfastcommon-master
-rw-r--r--   1 root root   478888 Jun 17 09:34 libfastcommon-master.zip
-rw-r--r--   1 root root   980831 Jun 17 09:34 nginx-1.12.0.tar.gz
-rw-r--r--.  1 root root      150 Jun  4 12:19 record.txt
-rw-r--r--.  1 root root 17699306 Jun  4 13:32 zookeeper-3.4.6.tar.gz
1.2 模擬上傳

確定圖片位置后,我們輸入上傳圖片命令:

/usr/bin/fdfs_upload_file  /etc/fdfs/client.conf  /usr/yong.cao/ftp/593d8f1eN5b3b8133.jpg  #這后面放的是圖片的位置

成功后會返回圖片的路徑:

[root@localhost ~]# /usr/bin/fdfs_upload_file  /etc/fdfs/client.conf  /usr/yong.cao/ftp/593d8f1eN5b3b8133.jpg
group1/M00/00/00/wKiAg1lE9WqAWu_ZAAFaL_xdW_s943.jpg

組名:group1
磁盤:M00
目錄:00/00
文件名稱:wKiAg1lE9WqAWu_ZAAFaL_xdW_s943.jpg

我們上傳的圖片會被上傳到我們創建的storage_data目錄下,讓我們去看看:

[root@localhost fastdfs_storage_data]# cd /usr/yong.cao/dev/fastdfs/fastdfs_storage_data/data
[root@localhost data]# ls
00  0D  1A  27  34  41  4E  5B  68  75  82  8F  9C  A9  B6  C3  D0  DD  EA  F7
01  0E  1B  28  35  42  4F  5C  69  76  83  90  9D  AA  B7  C4  D1  DE  EB  F8
02  0F  1C  29  36  43  50  5D  6A  77  84  91  9E  AB  B8  C5  D2  DF  EC  F9
03  10  1D  2A  37  44  51  5E  6B  78  85  92  9F  AC  B9  C6  D3  E0  ED  FA
04  11  1E  2B  38  45  52  5F  6C  79  86  93  A0  AD  BA  C7  D4  E1  EE  FB
05  12  1F  2C  39  46  53  60  6D  7A  87  94  A1  AE  BB  C8  D5  E2  EF  FC
06  13  20  2D  3A  47  54  61  6E  7B  88  95  A2  AF  BC  C9  D6  E3  F0  FD
07  14  21  2E  3B  48  55  62  6F  7C  89  96  A3  B0  BD  CA  D7  E4  F1  FE
08  15  22  2F  3C  49  56  63  70  7D  8A  97  A4  B1  BE  CB  D8  E5  F2  FF
09  16  23  30  3D  4A  57  64  71  7E  8B  98  A5  B2  BF  CC  D9  E6  F3  M00
0A  17  24  31  3E  4B  58  65  72  7F  8C  99  A6  B3  C0  CD  DA  E7  F4
0B  18  25  32  3F  4C  59  66  73  80  8D  9A  A7  B4  C1  CE  DB  E8  F5
0C  19  26  33  40  4D  5A  67  74  81  8E  9B  A8  B5  C2  CF  DC  E9  F6
[root@localhost data]# cd 00
[root@localhost 00]# ls
00  0D  1A  27  34  41  4E  5B  68  75  82  8F  9C  A9  B6  C3  D0  DD  EA  F7
01  0E  1B  28  35  42  4F  5C  69  76  83  90  9D  AA  B7  C4  D1  DE  EB  F8
02  0F  1C  29  36  43  50  5D  6A  77  84  91  9E  AB  B8  C5  D2  DF  EC  F9
03  10  1D  2A  37  44  51  5E  6B  78  85  92  9F  AC  B9  C6  D3  E0  ED  FA
04  11  1E  2B  38  45  52  5F  6C  79  86  93  A0  AD  BA  C7  D4  E1  EE  FB
05  12  1F  2C  39  46  53  60  6D  7A  87  94  A1  AE  BB  C8  D5  E2  EF  FC
06  13  20  2D  3A  47  54  61  6E  7B  88  95  A2  AF  BC  C9  D6  E3  F0  FD
07  14  21  2E  3B  48  55  62  6F  7C  89  96  A3  B0  BD  CA  D7  E4  F1  FE
08  15  22  2F  3C  49  56  63  70  7D  8A  97  A4  B1  BE  CB  D8  E5  F2  FF
09  16  23  30  3D  4A  57  64  71  7E  8B  98  A5  B2  BF  CC  D9  E6  F3
0A  17  24  31  3E  4B  58  65  72  7F  8C  99  A6  B3  C0  CD  DA  E7  F4
0B  18  25  32  3F  4C  59  66  73  80  8D  9A  A7  B4  C1  CE  DB  E8  F5
0C  19  26  33  40  4D  5A  67  74  81  8E  9B  A8  B5  C2  CF  DC  E9  F6
[root@localhost 00]# cd 00
[root@localhost 00]# ls
wKiAg1lE9WqAWu_ZAAFaL_xdW_s943.jpg 

果然通過剛剛返回的路徑,我們成功找到了圖片。

我們仔細看一下,實際文件存儲路徑下有創建好的多級目錄。data下有256個1級目錄,每級目錄下又有256個2級子目錄,總共65536個文件,新寫的文件會以hash的方式被路由到其中某個子目錄下,然后將文件數據直接作為一個本地文件存儲到該目錄中。

1.3 HTTP訪問文件

我們去瀏覽器用http請求訪問一下剛剛的圖片:


這里寫圖片描述

我們發現,http不能直接訪問到圖片。這是為什么呢。
我去官網看了一原碼,在HISTORY中發現,原來早在4.05的時候,就remove embed HTTP support

Version 4.05  2012-12-30
 * client/fdfs_upload_file.c can specify storage ip port and store path index
 * add connection pool
 * client load storage ids config
 * common/ini_file_reader.c does NOT call chdir
 * keep the mtime of file same
 * use g_current_time instead of call time function
 * remove embed HTTP support
1.4 HTTP請求不能訪問文件的原因

我們在使用FastDFS部署一個分布式文件系統的時候,通過FastDFS的客戶端API來進行文件的上傳、下載、刪除等操作。同時通過FastDFS的HTTP服務器來提供HTTP服務。但是FastDFS的HTTP服務較為簡單,無法提供負載均衡等高性能的服務,所以FastDFS的開發者——淘寶的架構師余慶同學,為我們提供了Nginx上使用的FastDFS模塊(也可以叫FastDFS的Nginx模塊)。
FastDFS通過Tracker服務器,將文件放在Storage服務器存儲,但是同組之間的服務器需要復制文件,有延遲的問題.假設Tracker服務器將文件上傳到了192.168.128.131,文件ID已經返回客戶端,這時,后臺會將這個文件復制到192.168.128.131,如果復制沒有完成,客戶端就用這個ID在192.168.128.131取文件,肯定會出現錯誤。這個fastdfs-nginx-module可以重定向連接到源服務器取文件,避免客戶端由于復制延遲的問題,出現錯誤。
正是這樣,FastDFS需要結合nginx,所以取消原來對HTTP的直接支持。

3. FastDFS的nginx模塊安裝

3.1安裝nginx準備

安裝需要的工具,之前就已經放到了ftp:

[root@localhost dev]# cd /usr/yong.cao/ftp/
[root@localhost ftp]# ls
593d8f1eN5b3b8133.jpg            libfastcommon-master
fastdfs-5.11                     libfastcommon-master.zip
fastdfs-5.11.zip                 nginx-1.12.0.tar.gz
fastdfs-client-java-master.zip   record.txt
fastdfs-nginx-module-master.zip  zookeeper-3.4.6.tar.gz

在安裝nginx之前要安裝nginx所需的依賴lib:

yum -y install pcre pcre-devel  
yum -y install zlib zlib-devel  
yum -y install openssl openssl-devel
3.2 安裝nginx并添加fastdfs-nginx-module

解壓nginx,和fastdfs-nginx-module:

tar -zxvf nginx-1.12.0.tar.gz
unzip fastdfs-nginx-module-master.zip

解壓后進入nginx目錄編譯安裝nginx,并添加fastdfs-nginx-module:

./configure --prefix=/usr/local/nginx --add-module=/usr/yong.cao/dev/nginx/fastdfs-nginx-module-master/src    #解壓后fastdfs-nginx-module所在的位置

如果配置不報錯的話,就開始編譯:

make
make install

如果報錯的話,很可能是版本的原因,在我的第二篇博文中提供了我測試成功不報錯的版本下載。
nginx的默認目錄是/usr/local/nginx,安裝成功后查看:

[root@localhost nginx-1.12.0]# cd /usr/local/nginx
[root@localhost nginx]# ll
total 0
drwx------ 2 nobody root   6 Jun 14 01:58 client_body_temp
drwxr-xr-x 2 root   root 333 Jun 16 21:42 conf
drwx------ 2 nobody root   6 Jun 14 01:58 fastcgi_temp
drwxr-xr-x 2 root   root  40 Jun 14 01:31 html
drwxr-xr-x 2 root   root  58 Jun 15 22:21 logs
drwx------ 2 nobody root   6 Jun 14 01:58 proxy_temp
drwxr-xr-x 2 root   root  19 Jun 14 01:31 sbin
drwx------ 2 nobody root   6 Jun 14 01:58 scgi_temp
drwx------ 2 nobody root   6 Jun 14 01:58 uwsgi_temp
3.3 配置storage nginx

修改nginx.conf:

[root@localhost nginx]# cd conf/
[root@localhost conf]# ls
fastcgi.conf            koi-win             scgi_params
fastcgi.conf.default    mime.types          scgi_params.default
fastcgi_params          mime.types.default  uwsgi_params
fastcgi_params.default  nginx.conf          uwsgi_params.default
koi-utf                 nginx.conf.default  win-utf
[root@localhost conf]# vim nginx.conf

單機版使用 一個 ngxin
作用
1.監聽 stroge web服務
2.反向代理,提供對外80端口。

修改監聽端口 listen 8888, 新增location, 再增加 反向代理,此處可以配置ng的負載均衡


# 監聽 8888 端口
server {
        listen       8888;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }
         location ~/group([0-9])/M00 {
            root /usr/yong.cao/dev/fastdfs/fastdfs_storage_data/data;
            ngx_fastdfs_module;
        }
        location = /50x.html {
            root   html;
        }
}
      # 此處可以負載,只有一個組 只配置一個即可
      upstream fdfs_group1 {
             server 192.168.177.200:8888;
        }
    server {
        listen       80;
        server_name  localhost;
       location /group1/M00 {
            proxy_pass http://fdfs_group1;
        }
   
      error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }


然后進入FastDFS安裝時的解壓過的目錄,將http.conf和mime.types拷貝到/etc/fdfs目錄下:

[root@localhost fastdfs-5.11]# cd /usr/yong.cao/ftp/fastdfs-5.11/conf/
[root@localhost conf]# ls
anti-steal.jpg  http.conf   storage.conf      tracker.conf
client.conf     mime.types  storage_ids.conf
cp http.conf /etc/fdfs/
cp mime.types /etc/fdfs/

另外還需要把fastdfs-nginx-module安裝目錄中src目錄下的mod_fastdfs.conf也拷貝到/etc/fdfs目錄下:

cp /usr/yong.cao/dev/nginx/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/

對剛剛拷貝的mod_fastdfs.conf文件進行修改:

vim /etc/fdfs/mod_fastdfs.conf
 base_path=/usr/yong.cao/dev/fastdfs/fastdfs_storage  #保存日志目錄
 tracker_server=192.168.177.200:22122 #tracker服務器的IP地址以及端口號
 storage_server_port=23000 #storage服務器的端口號
 url_have_group_name = true #文件 url 中是否有 group 名
 store_path0=/usr/yong.cao/dev/fastdfs/fastdfs_storage_data   #存儲路徑
 group_count = 3 #設置組的個數,事實上這次只使用了group1

在文件的最后,設置group

[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/home/yuqing/fastdfs
store_path1=/usr/yong.cao/dev/fastdfs/fastdfs_storage_data

# group settings for group #2
# since v1.14
# when support multi-group, uncomment following section as neccessary
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/usr/yong.cao/dev/fastdfs/fastdfs_storage_data

[group3]
group_name=group3
storage_server_port=23000
store_path_count=1
store_path0=/usr/yong.cao/dev/fastdfs/fastdfs_storage_data

創建M00至storage存儲目錄的符號連接:

ln  -s  /usr/yong.cao/dev/fastdfs/fastdfs_storage_data/data/ /usr/yong.cao/dev/fastdfs/fastdfs_storage_data/data/M00

啟動nginx:

/usr/local/nginx/sbin/nginx

成功啟動:

[root@localhost conf]# /usr/local/nginx/sbin/nginx
ngx_http_fastdfs_set pid=8142
這里寫圖片描述

恭喜你,storage的nginx已配置成功。接下來,我們還要繼續配置tracker的nginx。

3.4 防火墻端口設置

成功了,為什么還要講這個呢。因為有些同學到這里,還是不到訪問,很可能是防火墻沒有開啟相應的端口。防火墻這個東西我建議大家還是不要關閉,雖然麻煩了一點。

查看已開啟的端口:

[root@localhost nginx-1.12.0]# firewall-cmd --zone=public --list-ports
20880/tcp 80/tcp 2181/tcp 23000/tcp 22122/tcp 9999/tcp
[root@localhost nginx-1.12.0]#

在我的CentOS上這些端口都是開放的。
storage:20880
tracker:23000
這兩個端口要開啟,到時候下一篇講fastdfs-client-javas可能會造成無法連接。
9999和80端口是提供給nginx訪問的。
開放端口號命令:–permanent表示永久生效,不加的話,重啟后不生效

firewall-cmd --zone=public --add-port=23000/tcp --permanent #開戶端口號

CentOS7 防火墻相關命令:

systemctl enable firewalld.service    #開啟防火墻
systemctl stop firewalld.service     #關閉防火墻(開機會仍會啟動)
systemctl disable firewalld.service  #禁用防火墻(開機后不再啟動)
3.5 HTTP測試

現在我們再去訪問一下,原來我們上傳過的文件:


image.png

這個時候已經能成功訪問。感謝你能堅持到現在,FastDFS已部署完成。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,461評論 6 532
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,538評論 3 417
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,423評論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,991評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,761評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,207評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,268評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,419評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,959評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,782評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,222評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,653評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,901評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,678評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,978評論 2 374

推薦閱讀更多精彩內容

  • FastDFS是用C語言編寫的一款開源的輕量級分布式文件系統。它對文件進行管理,功能包括:文件存儲、文件同步、文件...
    歡醉閱讀 4,057評論 3 12
  • 內容簡介在跟隨項目實踐過程中,代碼中需要使用上傳圖片的功能,其中使用了FastDFS作為圖片服務器,在此記錄一下搭...
    Little_Dragon_閱讀 1,184評論 0 0
  • 一、軟件下載 fastdfs libfastcommon fastdfs-nginx-module nginx 二...
  • 第二站臺州天臺縣,游瓊臺仙谷… 這里有兩個入口,上山門和下山門,我們把車停在下山門的路邊,坐景區的車去上山門,然后...
    回味愛烘焙閱讀 286評論 2 2
  • 我喜歡你。 喜歡你恬靜的樣子,喜歡你捧著心愛的名著,坐在撒滿陽光的窗前,任憑周圍吵雜的打鬧聲,任憑從食堂飄來的陣陣...
    雨凝9622閱讀 163評論 0 1