亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

nginx的FastDFS分布式存儲(chǔ)模塊測試方法

 更新時(shí)間:2010年12月22日 13:57:31   作者:  
很長時(shí)間沒有關(guān)注FastDFS了,第一次使用FastDFS 是在 08年的時(shí)候11月的時(shí)候,那個(gè)時(shí)候是為了解決公司的數(shù)據(jù)存儲(chǔ)~那時(shí)候可能是對(duì)Fastdfs了解不深,功能還不算太健全,最后選擇了lustre。
再回過頭來看FastDFS更新很快,還看到fastdfs-nginx-module_v1.01.tar.gz nginx模塊,所以今天在一臺(tái)測試機(jī)上測試了·測試幾天看穩(wěn)定不穩(wěn)定,在考慮換掉浪費(fèi)資源的 lustre !

環(huán)境:

storage1:192.168.6.100
storage2:192.168.6.101
tracker:192.168.6.102

1. 在每個(gè)機(jī)器上,下載安裝 FastDFS

nginx $> wget http://fastdfs.googlecode.com/files/FastDFS_v2.04.tar.gz
# 解壓
nginx $> tar zxvf FastDFS_v2.04.tar.gz
nginx $> cd FastDFS
# 因?yàn)槲沂墙onginx添加fastdfs模塊,所以不需要fastdfs支持 http 所以我就不需要去掉 #WITH_HTTPD=1 前的注釋了,直接編譯
nginx $> ./make.sh
nginx $> ./make.sh install

2.修改tracker 和 storage 的配置文件
# tracker 的修改

tracker $> vim /etc/fdfs/tracker.conf
disabled=false
#配置是否生效
bind_addr=192.168.6.102
#綁定IP
port=22122
#服務(wù)端口
connect_timeout=30
#連接超時(shí)時(shí)間
network_timeout=60
# tracker server的網(wǎng)絡(luò)超時(shí),單位為秒。
base_path=/home/yangzi
#目錄地址,里面會(huì)創(chuàng)建data(存放存儲(chǔ)服務(wù)器信息)、logs,日志文件
max_connections=256
#系統(tǒng)提供服務(wù)最大連接數(shù)
work_threads=4
#線程數(shù),通常設(shè)置CPU數(shù)
store_lookup=2
上傳組(卷) 的方式 0:輪詢方式 1: 指定組 2: 平衡負(fù)載(選擇最大剩余空間的組(卷)上傳)
這里如果在應(yīng)用層指定了上傳到一個(gè)固定組,那么這個(gè)參數(shù)被繞過
store_group=group1
當(dāng)上一個(gè)參數(shù)設(shè)定為1 時(shí) (store_lookup=1,即指定組名時(shí)),必須設(shè)置本參數(shù)為系統(tǒng)中存在的一個(gè)組名。如果選擇其他的上傳方式,這個(gè)參數(shù)就沒有效了
store_server=0
選擇哪個(gè)storage server 進(jìn)行上傳操作(一個(gè)文件被上傳后,這個(gè)storage server就相當(dāng)于這個(gè)文件的storage server源,會(huì)對(duì)同組的storage server推送這個(gè)文件達(dá)到同步效果)
# 0: 輪詢方式
# 1: 根據(jù)ip 地址進(jìn)行排序選擇第一個(gè)服務(wù)器(IP地址最小者)
# 2: 根據(jù)優(yōu)先級(jí)進(jìn)行排序(上傳優(yōu)先級(jí)由storage server來設(shè)置,參數(shù)名為upload_priority)
store_path=0
選擇storage server 中的哪個(gè)目錄進(jìn)行上傳。storage server可以有多個(gè)存放文件的base path(可以理解為多個(gè)磁盤)。
# 0: 輪流方式,多個(gè)目錄依次存放文件
# 2: 選擇剩余空間最大的目錄存放文件(注意:剩余磁盤空間是動(dòng)態(tài)的,因此存儲(chǔ)到的目錄或磁盤可能也是變化的)
download_server=0
 選擇哪個(gè) storage server 作為下載服務(wù)器
# 0: 輪詢方式,可以下載當(dāng)前文件的任一storage server
# 1: 哪個(gè)為源storage server 就用哪一個(gè) (前面說過了這個(gè)storage server源 是怎樣產(chǎn)生的) 就是之前上傳到哪個(gè)storage server服務(wù)器就是哪個(gè)了
reserved_storage_space = 4GB
storage server 上保留的空間,保證系統(tǒng)或其他應(yīng)用需求空間(指出 如果同組的服務(wù)器的硬盤大小一樣,以最小的為準(zhǔn),也就是只要同組中有一臺(tái)服務(wù)器達(dá)到這個(gè)標(biāo)準(zhǔn)了,這個(gè)標(biāo)準(zhǔn)就生效,原因就是因?yàn)樗麄冞M(jìn)行備份)
log_level=info
#選擇日志級(jí)別
run_by_group=
#操作系統(tǒng)運(yùn)行FastDFS的用戶組
run_by_user=
#操作系統(tǒng)運(yùn)行FastDFS的用戶
allow_hosts=*
#可以連接到此 tracker server 的ip范圍(對(duì)所有類型的連接都有影響,包括客戶端,storage server)
sync_log_buff_interval = 10
# 同步或刷新日志信息到硬盤的時(shí)間間隔,單位為秒
# 注意:tracker server 的日志不是時(shí)時(shí)寫硬盤的,而是先寫內(nèi)存。
check_active_interval = 120
# 檢測 storage server 存活的時(shí)間隔,單位為秒。
# storage server定期向tracker server 發(fā)心跳,如果tracker server在一個(gè)check_active_interval內(nèi)還沒有收到storage server的一次心跳,那邊將認(rèn)為該storage server已經(jīng)下線。所以本參數(shù)值必須大于storage server配置的心跳時(shí)間間隔。通常配置為storage server心跳時(shí)間間隔的2倍或3倍。
thread_stack_size = 64KB
# 線程棧的大小。FastDFS server端采用了線程方式。更正一下,tracker server線程棧不應(yīng)小于64KB,不是512KB。
# 線程棧越大,一個(gè)線程占用的系統(tǒng)資源就越多。如果要啟動(dòng)更多的線程(V1.x對(duì)應(yīng)的參數(shù)為max_connections,
V2.0為work_threads),可以適當(dāng)降低本參數(shù)值。
storage_ip_changed_auto_adjust = true
# 這個(gè)參數(shù)控制當(dāng)storage server IP地址改變時(shí),集群是否自動(dòng)調(diào)整。注:只有在storage server進(jìn)程重啟時(shí)才完成自動(dòng)調(diào)整。
storage_sync_file_max_delay = 86400
# V2.0引入的參數(shù)。存儲(chǔ)服務(wù)器之間同步文件的最大延遲時(shí)間,缺省為1天。根據(jù)實(shí)際情況進(jìn)行調(diào)整
storage_sync_file_max_time = 300
# V2.0引入的參數(shù)。存儲(chǔ)服務(wù)器同步一個(gè)文件需要消耗的最大時(shí)間,缺省為300s,即5分鐘。
http.disabled=true
# HTTP服務(wù)是否不生效 當(dāng)然編譯的時(shí)候我已經(jīng)把 with_httpd宏去掉了,
http.server_port=80
# HTTP服務(wù)端口
# 下列參數(shù)只有 開啟http服務(wù)才有用
http.check_alive_interval=30
http.check_alive_type=tcp
http.check_alive_uri=/status.html
http.need_find_content_type=true

#兩臺(tái) storage.conf的修改

storage $> vim /etc/fdfs/storage.conf
disabled=false
#配置是否生效
group_name=group1
#storage所在組(卷)
bind_addr=192.168.6.100
# 綁定IP,另一太 storage IP為 192.168.6.101
client_bind=true
#bind_addr通常是針對(duì)server的。當(dāng)指定bind_addr時(shí),本參數(shù)才有效。
port=23000
# 是storage 服務(wù)端口
connect_timeout=30
# 連接超時(shí)時(shí)間,針對(duì)socket套接字函數(shù)connect
network_timeout=60
# storage server 網(wǎng)絡(luò)超時(shí)時(shí)間,單位為秒。
heart_beat_interval=30
# 心跳間隔時(shí)間,單位為秒
stat_report_interval=60
# storage server向tracker server報(bào)告磁盤剩余空間的時(shí)間間隔,單位為秒。
base_path=/home/eric
# base_path 目錄地址,根目錄必須存在 子目錄會(huì)自動(dòng)生成
# 會(huì)產(chǎn)生data(數(shù)據(jù)存儲(chǔ)地方)、 logs日志文件
max_connections=256
# 最大連接數(shù)
buff_size = 256KB
# 設(shè)置隊(duì)列結(jié)點(diǎn)的buffer大小。
work_threads=4
# 工作線程數(shù)
disk_rw_separated = true
# 磁盤IO讀寫是否分離,缺省是分離的。
disk_reader_threads = 1
# 針對(duì)單個(gè)存儲(chǔ)路徑的讀線程數(shù),缺省值為1
disk_writer_threads = 1
# 針對(duì)單個(gè)存儲(chǔ)路徑的寫線程數(shù),缺省值為1
sync_wait_msec=200
# 同步文件時(shí),如果從binlog中沒有讀到要同步的文件,休眠N毫秒后重新讀取,0表示不休眠,立即再次嘗試讀取。
sync_interval=0
# 同步上一個(gè)文件后,再同步下一個(gè)文件的時(shí)間間隔,單位為毫秒,0表示不休眠,直接同步下一個(gè)文件。
sync_start_time=00:00
sync_end_time=23:59
# 允許系統(tǒng)同步的時(shí)間段 (默認(rèn)是全天) 。一般用于避免高峰同步產(chǎn)生一些問題而設(shè)定,相信sa都會(huì)明白。
write_mark_file_freq=500
# 把storage的mark文件定期同步到磁盤的時(shí)間間隔,單位為秒
store_path_count=1
# 存放文件時(shí)storage server支持多個(gè)路徑(例如磁盤)。這里配置存放文件的基路徑數(shù)目,通常只配一個(gè)目錄。
store_path0=/home/eric
# 逐一配置store_path個(gè)路徑,索引號(hào)基于0。注意配置方法后面有0,1,2 ......,需要配置0到store_path - 1。
# 如果不配置base_path0,那邊它就和base_path對(duì)應(yīng)的路徑一樣。
subdir_count_per_path=32
# FastDFS存儲(chǔ)文件時(shí),采用了兩級(jí)目錄。這里配置存放文件的目錄個(gè)數(shù)
tracker_server=192.168.6.188:22122
# tracker_server 的列表 要寫端口的哦
log_level=info
# 日志級(jí)別
run_by_group=
# 運(yùn)行storage 用戶組
run_by_user=
# 運(yùn)行storage 用戶
allow_hosts=*
# 允許連接IP列表
file_distribute_path_mode=0
# 文件在data目錄下分散存儲(chǔ)策略。
# 0: 輪流存放
# 1: 隨機(jī)存儲(chǔ)
file_distribute_rotate_count=100
# 當(dāng)上面的參數(shù)file_distribute_path_mode配置為0(輪流存放方式)時(shí),本參數(shù)有效。
#當(dāng)一個(gè)目錄下的文件存放的文件數(shù)達(dá)到本參數(shù)值時(shí),后續(xù)上傳的文件存儲(chǔ)到下一個(gè)目錄中
fsync_after_written_bytes=0
# 當(dāng)寫入大文件時(shí),每寫入N個(gè)字節(jié),調(diào)用一次系統(tǒng)函數(shù)fsync將內(nèi)容強(qiáng)行同步到硬盤。0表示從不調(diào)用fsync
sync_log_buff_interval=10
# 同步或刷新日志信息到硬盤的時(shí)間間隔,單位為秒
sync_binlog_buff_interval=60
# 同步binglog(更新操作日志)到硬盤的時(shí)間間隔,單位為秒
sync_stat_file_interval=300
# 把storage的stat文件同步到磁盤的時(shí)間間隔,單位為秒。
thread_stack_size=512KB
?!【€程棧的大小。FastDFS server端采用了線程方式。
?!【€程棧越大,一個(gè)線程占用的系統(tǒng)資源就越多。
upload_priority=10
本storage server作為源服務(wù)器,上傳文件的優(yōu)先級(jí),可以為負(fù)數(shù)。值越小,優(yōu)先級(jí)越高。這里就和 tracker.conf 中store_server= 2時(shí)的配置相對(duì)應(yīng)了
if_alias_prefix=
check_file_duplicate=0
?!∈欠駲z測上傳文件已經(jīng)存在。如果已經(jīng)存在,則不存在文件內(nèi)容,建立一個(gè)符號(hào)鏈接以節(jié)省磁盤空間?!〗Y(jié)合 fastdfh使用的。 1是檢測,0是不檢測,我們不使用fastdfh 當(dāng)然 0 
key_namespace=FastDFS
# 當(dāng)上個(gè)參數(shù)設(shè)定為1 或 yes時(shí) (true/on也是可以的) , 在FastDHT中的命名空間
keep_alive=0
# 與FastDHT servers 的連接方式 (是否為持久連接) 

# 下面是http的配置了就不多說了
http.disabled=true
http.domain_name=
http.server_port=80
http.trunk_size=256KB
http.need_find_content_type=true

3.建立tracker 和 storage 的根目錄

# tracker
tracker $> mkdir -p /home/eric
# storage
storage $> mkdir -p /home/yangzi

4.在 一臺(tái)storage上下載,比如我在 192.168.6.100上下載 nginx 和 fastdfs-nginx-module 模塊

storage $> wget http://www.nginx.org/download/nginx-0.8.53.tar.gz
storage $> svn export http://fastdfs-nginx-module.googlecode.com/svn/trunk/ fastdfs-nginx-module-read-only

5.編譯安裝 nginx 附帶 fastdfs-nginx-module 模塊

storage $> tar zxvf nginx-0.8.53.tar.gz
storage $> cd nginx-0.8.53
storage $> ./configure --prefix=/usr/local/nginx --add-module=/root/fastdfs-nginx-module-read-only/src
storage $> make
storage $> make install
# 拷貝mod_fastdfs.conf 到/etc/fdfs/
storage $> cp /root/fastdfs-nginx-module-read-only/src/mod_fastdfs.conf /etc/fdfs/

6.修改 nginx 配置文件增加

storage $> vim /usr/local/nginx/conf/nginx.conf

# 增加一下
location /M00 {
alias /home/eric/data;
ngx_fastdfs_module;
}

7. 給 storage 的存儲(chǔ)目錄做一個(gè)軟連接

storage $> ln -s /home/yangzi/data /home/yangzi/data/M00

8. 啟動(dòng)兩臺(tái) storage 和tracker nginx

# 啟動(dòng) tracker
tracker $> /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf
# 啟動(dòng) storage
storage $> /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf
# 啟動(dòng) storage2
storage2 $> /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf
#在 storage啟動(dòng) nginx
storage $> /usr/local/nginx/sbin/nginx

9、上傳文件測試。
# 修改客戶端配置文件

storage $> vim /etc/fdfs/client.conf
connect_timeout=30
network_timeout=60
base_path=/home/yangzi
tracker_server=192.168.6.102:22122
log_level=info
#下面參數(shù)無所謂了反正沒有用到http 服務(wù)
http.tracker_server_port=80
storage $> vim a.html
test FastDFS!
storage $> /usr/local/bin/fdfs_test /etc/fdfs/client.conf upload a.html
This is FastDFS client test program v2.04

Copyright (C) 2008, Happy Fish / YuQing

FastDFS may be copied only under the terms of the GNU General
Public License V3, which may be found in the FastDFS source kit.
Please visit the FastDFS Home Page http://www.csource.org/
for more detail.

base_path=/home/yangzi, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0
tracker_query_storage_store_list_without_group:
    server 1. group_name=group1, ip_addr=192.168.6.100, port=23000

group_name=group1, ip_addr=192.168.6.100, port=23000
storage_upload_by_filename
group_name=group1, remote_filename=M00/00/00/wKgGvEz3Y9MAAAAAAAAADigvbpc73.html
source ip address: 192.168.6.100
file timestamp=2010-12-02 17:16:03
file size=14
file crc32=674197143
file url: http://192.168.6.100/group1/M00/00/00/wKgGvEz3Y9MAAAAAAAAADigvbpc73.html
storage_upload_slave_by_filename
group_name=group1, remote_filename=M00/00/00/wKgGvEz3Y9MAAAAAAAAADigvbpc73_big.html
source ip address: 192.168.6.100
file timestamp=2010-12-02 17:16:03
file size=14
file crc32=674197143
file url: http://192.168.6.100/group1/M00/00/00/wKgGvEz3Y9MAAAAAAAAADigvbpc73_big.html

打開IE瀏覽器訪問:

本文出自 “l(fā)inuxer” 博客,請(qǐng)務(wù)必保留此出處http://deidara.blog.51cto.com/400447/440175

相關(guān)文章

  • nginx使用nginx-rtmp-module模塊實(shí)現(xiàn)直播間功能

    nginx使用nginx-rtmp-module模塊實(shí)現(xiàn)直播間功能

    做的過程出現(xiàn)很多問題,環(huán)境其實(shí)就需要nginx就可以,然后就是在播放的問題,m3u8的格式,mac直接訪問就支持,蘋果系統(tǒng)原生H5支持m3u8,還有就是手機(jī)直接訪問也支持!但是其他其他系統(tǒng)PC端不支持,嘗試了好多都不行,最后終于找到了一個(gè)支持m3u8格式H5播放
    2017-10-10
  • nginx實(shí)現(xiàn)一個(gè)域名配置多個(gè)laravel項(xiàng)目的方法示例

    nginx實(shí)現(xiàn)一個(gè)域名配置多個(gè)laravel項(xiàng)目的方法示例

    這篇文章主要介紹了nginx實(shí)現(xiàn)一個(gè)域名配置多個(gè)laravel項(xiàng)目的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • win10安裝配置nginx的過程

    win10安裝配置nginx的過程

    這篇文章主要介紹了win10安裝配置nginx的過程,幫助大家更好的理解和使用nginx服務(wù)器,感興趣的朋友可以了解下
    2020-10-10
  • nginx 某些url只能由特定網(wǎng)段訪問

    nginx 某些url只能由特定網(wǎng)段訪問

    在一些場景中,我們需要根據(jù)客戶端的IP地址或網(wǎng)段對(duì)訪問進(jìn)行控制,在Nginx中針對(duì)某些URL只允許特定網(wǎng)段訪問,本文就來介紹一下如何實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • nginx location語法使用介紹

    nginx location語法使用介紹

    Nginx 中的 Location 指令 是NginxHttpCoreModule中重要指令。Location 指令,是用來為匹配的 URI 進(jìn)行配置,URI 即語法中的”/uri/”,可以是字符串或正則表達(dá)式。但如果要使用正則表達(dá)式,則必須指定前綴
    2015-01-01
  • nginx配置SSL證書實(shí)現(xiàn)https服務(wù)的方法

    nginx配置SSL證書實(shí)現(xiàn)https服務(wù)的方法

    這篇文章主要介紹了nginx配置SSL證書實(shí)現(xiàn)https服務(wù)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • nginx?gzip?動(dòng)態(tài)靜態(tài)壓縮詳解

    nginx?gzip?動(dòng)態(tài)靜態(tài)壓縮詳解

    這篇文章主要為大家介紹了nginx?gzip?動(dòng)態(tài)靜態(tài)壓縮實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • nginx配置同一域名同一端口下部署多個(gè)vue項(xiàng)目的實(shí)現(xiàn)

    nginx配置同一域名同一端口下部署多個(gè)vue項(xiàng)目的實(shí)現(xiàn)

    本地開發(fā)好了多個(gè)前端微信網(wǎng)頁項(xiàng)目,想部署上線,本文就來介紹一下nginx配置同一域名同一端口下部署多個(gè)vue項(xiàng)目的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • Nginx啟用Brotli算法壓縮的示例

    Nginx啟用Brotli算法壓縮的示例

    這篇文章主要介紹了Nginx啟用Brotli算法壓縮的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • 詳解nginx upstream 配置和作用

    詳解nginx upstream 配置和作用

    這篇文章主要介紹了詳解nginx upstream 配置和作用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07

最新評(píng)論