本次安裝的版本是目前最新版本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
- base_path=/usr/yong.cao/dev/fastdfs/fastdfs_tracker #tracker服務器文件路徑
- tracker_server=192.168.128.131:22122 #tracker服務器IP地址和端口號
- http.tracker_server_port=6666 # tracker 服務器的 http端口號,必須和tracker的設置對應起來
通過ftp上傳圖片到CentOS:
在我的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測試
現在我們再去訪問一下,原來我們上傳過的文件:
這個時候已經能成功訪問。感謝你能堅持到現在,FastDFS已部署完成。