環境:
storage1:192.168.6.100storage2:192.168.6.101tracker:192.168.6.102
1. 在每個機器上,下載安裝 FastDFS
nginx $> wget http://fastdfs.googlecode.com/files/FastDFS_v2.04.tar.gz# 解壓nginx $> tar zxvf FastDFS_v2.04.tar.gznginx $> cd FastDFS# 因為我是給nginx添加fastdfs模塊,所以不需要fastdfs支持 http 所以我就不需要去掉 #WITH_HTTPD=1 前的注釋了,直接編譯nginx $> ./make.shnginx $> ./make.sh install
2.修改tracker 和 storage 的配置文件
# tracker 的修改
tracker $> vim /etc/fdfs/tracker.conf
disabled=false#配置是否生效bind_addr=192.168.6.102#綁定IPport=22122#服務端口connect_timeout=30#連接超時時間network_timeout=60# tracker server的網絡超時,單位為秒。base_path=/home/yangzi#目錄地址,里面會創建data(存放存儲服務器信息)、logs,日志文件max_connections=256#系統提供服務最大連接數work_threads=4#線程數,通常設置CPU數store_lookup=2上傳組(卷) 的方式 0:輪詢方式 1: 指定組 2: 平衡負載(選擇最大剩余空間的組(卷)上傳)這里如果在應用層指定了上傳到一個固定組,那么這個參數被繞過store_group=group1當上一個參數設定為1 時 (store_lookup=1,即指定組名時),必須設置本參數為系統中存在的一個組名。如果選擇其他的上傳方式,這個參數就沒有效了store_server=0選擇哪個storage server 進行上傳操作(一個文件被上傳后,這個storage server就相當于這個文件的storage server源,會對同組的storage server推送這個文件達到同步效果)# 0: 輪詢方式# 1: 根據ip 地址進行排序選擇第一個服務器(IP地址最小者)# 2: 根據優先級進行排序(上傳優先級由storage server來設置,參數名為upload_priority)store_path=0選擇storage server 中的哪個目錄進行上傳。storage server可以有多個存放文件的base path(可以理解為多個磁盤)。# 0: 輪流方式,多個目錄依次存放文件# 2: 選擇剩余空間最大的目錄存放文件(注意:剩余磁盤空間是動態的,因此存儲到的目錄或磁盤可能也是變化的)download_server=0 選擇哪個 storage server 作為下載服務器# 0: 輪詢方式,可以下載當前文件的任一storage server# 1: 哪個為源storage server 就用哪一個 (前面說過了這個storage server源 是怎樣產生的) 就是之前上傳到哪個storage server服務器就是哪個了reserved_storage_space = 4GBstorage server 上保留的空間,保證系統或其他應用需求空間(指出 如果同組的服務器的硬盤大小一樣,以最小的為準,也就是只要同組中有一臺服務器達到這個標準了,這個標準就生效,原因就是因為他們進行備份)log_level=info#選擇日志級別run_by_group=#操作系統運行FastDFS的用戶組run_by_user=#操作系統運行FastDFS的用戶allow_hosts=*#可以連接到此 tracker server 的ip范圍(對所有類型的連接都有影響,包括客戶端,storage server)sync_log_buff_interval = 10# 同步或刷新日志信息到硬盤的時間間隔,單位為秒# 注意:tracker server 的日志不是時時寫硬盤的,而是先寫內存。check_active_interval = 120# 檢測 storage server 存活的時間隔,單位為秒。# storage server定期向tracker server 發心跳,如果tracker server在一個check_active_interval內還沒有收到storage server的一次心跳,那邊將認為該storage server已經下線。所以本參數值必須大于storage server配置的心跳時間間隔。通常配置為storage server心跳時間間隔的2倍或3倍。thread_stack_size = 64KB# 線程棧的大小。FastDFS server端采用了線程方式。更正一下,tracker server線程棧不應小于64KB,不是512KB。# 線程棧越大,一個線程占用的系統資源就越多。如果要啟動更多的線程(V1.x對應的參數為max_connections,V2.0為work_threads),可以適當降低本參數值。storage_ip_changed_auto_adjust = true# 這個參數控制當storage server IP地址改變時,集群是否自動調整。注:只有在storage server進程重啟時才完成自動調整。storage_sync_file_max_delay = 86400# V2.0引入的參數。存儲服務器之間同步文件的最大延遲時間,缺省為1天。根據實際情況進行調整storage_sync_file_max_time = 300# V2.0引入的參數。存儲服務器同步一個文件需要消耗的最大時間,缺省為300s,即5分鐘。http.disabled=true# HTTP服務是否不生效 當然編譯的時候我已經把 with_httpd宏去掉了,http.server_port=80# HTTP服務端口# 下列參數只有 開啟http服務才有用http.check_alive_interval=30http.check_alive_type=tcphttp.check_alive_uri=/status.htmlhttp.need_find_content_type=true
新聞熱點
疑難解答