利用FastDFS+Nginx搭建圖片服務器(二)

搭建之前,先來張效果圖:


效果圖

但我們沒有那么多服務器,怎么辦呢?本著學習的態(tài)度,我們可以搭建一個最簡易的,Tracker需要一個集群,我們可以先給一臺,Storage集群,我們只配置一組,一組中我們只要一個主服務器,先不配置從服務器。

這樣就需要兩臺Linux服務器,Tracker和Storage兩個可以先放到一臺機器上,所以最簡易的結(jié)構應該是一臺Linux服務器,配置一個Tracker和一個Storage即可。

好的,做好,開船!!!!!

一、下載

? ? ? ? tracker和storage使用相同的安裝包,下載地址:http://sourceforge.net/projects/FastDFS/或https://github.com/happyfish100/FastDFS(推薦)

我們當前使用的是:FastDFS_v5.05.tar.gz

下載地址:FastDFS_v5.05.tar.gz

二、FastDFS安裝環(huán)境

FastDFS是C語言開發(fā),建議在linux上運行,本教程使用Centos6.4作為安裝環(huán)境。

1、安裝FastDFS需要先將官網(wǎng)下載的源碼進行編譯,編譯依賴gcc環(huán)境

?如果沒有gcc環(huán)境,需要安裝gcc:

yum install gcc-c++

運行yum命令必須聯(lián)網(wǎng)才行

2、安裝libevent

FastDFS依賴libevent庫,需要安裝:

yum -y install libevent

3、安裝libfastcommon

libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS運行所需要的一些基礎庫。

下載鏈接: http://pan.baidu.com/s/1bpeYGWZ 密碼: bqp7

將libfastcommonV1.0.7.tar.gz拷貝至/usr/local/下(此處省略了通過SSH工具連接Linux,并上傳文件,拷貝文件這么個過程)

cd /usr/local

tar -zxvflibfastcommonV1.0.7.tar.gz

cd libfastcommon-1.0.7

./make.sh

./make.sh install

該過程主要是將libfastcommon解壓、編譯、并安裝。

注意:libfastcommon安裝好后會自動將庫文件拷貝至/usr/lib64下,由于FastDFS程序引用usr/lib目錄所以需要將/usr/lib64下的庫文件拷貝至/usr/lib下,只需要將libfastcommon.so ?拷貝過去即可,不需要全部拷貝,更不能全部移動,這樣系統(tǒng)徹底歇菜。

三、安裝開始

1、安裝Tracker

將FastDFS_v5.05.tar.gz拷貝至/usr/local/下

tar -zxvf ? FastDFS_v5.05.tar.gz

cd FastDFS

./make.sh

./make.sh install

安裝成功將安裝目錄下的conf下的文件拷貝到/etc/fdfs/下。

2、配置

安裝成功后進入/etc/fdfs目錄:

修改tracker.conf

vi tracker.conf

base_path=/home/yuqing/FastDFS

改為:

base_path=/home/fastdfs


3、啟動

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

啟動的日志顯示先停止5619進程(實際環(huán)境不是5619)再啟動,如下圖:


注意:如果沒有顯示上圖要注意是否正常停止原有進程。

設置開機自動啟動。

[root@localhost fdfs]#vim /etc/rc.d/rc.local

將運行命令行添加進文件:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

4、Storage安裝、配置

如果Storage安裝在了一臺全新的Linux服務器上,需要將之前的步驟二再來一遍(安裝環(huán)境)

但是我們目前是在一臺電腦上安裝,所以可以跳過。

接下來需要在Storage上進行配置

進入/etc/fdfs目錄,配置storage.conf。

修改storage.conf

vi ? storage.conf

group_name=group1

base_path=/home/yuqing/FastDFS改為:base_path=/home/fastdfs

store_path0=/home/yuqing/FastDFS改為:store_path0=/home/fastdfs/fdfs_storage

如果在/home下沒有fastdfs,請先創(chuàng)建fastdfs文件夾,fastdfs下沒有fdfs_storage,需要實現(xiàn)創(chuàng)建該文件夾。

tracker_server=192.168.25.129:22122#配置tracker服務器:IP

5、啟動storage

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

注意:如果沒有顯示上圖要注意是否正常停止原有進程。

設置開機自動啟動。

[root@storage1 FastDFS]#vim /etc/rc.d/rc.local

將運行命令行添加進文件:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

6、上傳圖片測試

1.1.1通過fdfs_test程序

FastDFS安裝成功可通過/usr/bin/fdfs_test測試上傳、下載等操作。

修改/etc/fdfs/client.conf

base_path=/home/fastdfs

tracker_server=192.168.25.129:22122

使用格式:

/usr/bin/fdfs_test ? 客戶端配置文件地址 ? upload ? 上傳文件

比如將/home下的圖片上傳到FastDFS中:

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/admin/hehe.jpg

如果出現(xiàn)如下界面,表示上傳成功。

現(xiàn)在由于只是成功了一部分,因為圖片是可以上傳了,但是沒辦法訪問,為什么呢?

因為就沒有http服務器,怎么訪問啊?????

四、FastDFS和nginx整合

我們需要通過Nginx來搭建一個http服務器才行,那步驟是不是和之前我寫的《利用Nginx當http服務器》一樣呢?略有不同,所有最后建議按照如下步驟搭建。

1、在tracker上安裝nginx

在每個tracker上安裝nginx,的主要目的是做負載均衡及實現(xiàn)高可用。如果只有一臺tracker服務器可以不配置nginx

所以此處不用配置該Nginx

2、在Storage上安裝nginx

? ? ?1)FastDFS-nginx-module

將FastDFS-nginx-module_v1.16.tar.gz傳至/usr/local/下

cd /usr/local

tar -zxvfFastDFS-nginx-module_v1.16.tar.gz

cdFastDFS-nginx-module/src

修改config文件將/usr/local/路徑改為/usr/


將FastDFS-nginx-module/src下的mod_FastDFS.conf拷貝至/etc/fdfs/下

cp mod_FastDFS.conf /etc/fdfs/

并修改mod_FastDFS.conf的內(nèi)容:

vi /etc/fdfs/mod_FastDFS.

base_path=/home/fastdfs

tracker_server=192.168.25.129:22122

url_have_group_name=true ? ?#url中包含group名稱

store_path0=/home/fastdfs/fdfs_storage ? ? ?#指定文件存儲路徑

將libfdfsclient.so拷貝至/usr/lib下

cp /usr/lib64/libfdfsclient.so ? ?/usr/lib/

創(chuàng)建nginx/client目錄,為Nginx的安裝做準備

mkdir -p /var/temp/nginx/client

五、Nginx的安裝

將Nginx源碼包上傳到服務器,并解壓,Nginx的安裝需要有一些安裝環(huán)境,此處不再贅述,執(zhí)行如下命令即可:

1、yum install gcc-c++

2、yum install -y pcre pcre-devel

3、yum install -y zlib zlib-devel

4、yum install -y openssl openssl-devel

然后就可以編譯Nginx了,首先Nginx沒有makefile文件,需要手動生成一個,生成時此處還需要注冊一個fastdfs模塊(留意命令最后一行)

進入到nginx的源碼目錄下,執(zhí)行如下代碼:

./configure \

--prefix=/usr/local/nginx \

--pid-path=/var/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/temp/nginx/client \

--http-proxy-temp-path=/var/temp/nginx/proxy \

--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \

--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \

--http-scgi-temp-path=/var/temp/nginx/scgi \

--add-module=/usr/local/fastdfs-nginx-module/src

該命令是一個命令,不能一個個粘貼,統(tǒng)一粘貼,千萬需要注意路徑問題,沒有的文件夾一定要先創(chuàng)建。

執(zhí)行完畢后會生成一個MakeFile文件,然后就就可在該路徑下進行編譯和安裝了

編譯:make

安裝:make install

六、Nginx配置

在/usr/local/nginx/conf下,找到nginx.conf,新增如下內(nèi)容:

server {

? ? ?listen? ? ? 80;

? ? ?server_name? 192.168.25.129;

? ? ?location /group1/M00/{

? ? ? ? ? ? ? ? ? #root /home/fastdfs/fdfs_storage/data;

? ? ? ? ? ? ? ? ?ngx_fastdfs_module;

? ? ? }

}

保存,重啟Nginx。

先訪問http://192.168.25.129是否可訪問。

切記:請關閉Linux防火墻,或者將80端口放開,要不然一切都不起作用。

再訪問之前的url是否可以訪問到該圖片,如果訪問成功,說明搭建完成。

http://192.168.25.129/group1/M00/00/00/wKgZgVl2Lx6AJGGNAAHY4S_5XfM096_big.jpg


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

推薦閱讀更多精彩內(nèi)容