轉(zhuǎn)自?https://www.cnblogs.com/yufeng218/p/8111961.html
1系谐、安裝gcc(編譯時(shí)需要)
FastDFS是C語(yǔ)言開(kāi)發(fā)虑稼,安裝FastDFS需要先將官網(wǎng)下載的源碼進(jìn)行編譯檬寂,編譯依賴gcc環(huán)境终抽,如果沒(méi)有g(shù)cc環(huán)境,需要安裝gcc
```
yuminstall-ygccgcc-c++
```
2桶至、安裝libevent(運(yùn)行時(shí)需求)
?若安裝了桌面圖形界面昼伴,就不需要安裝;FastDFS依賴libevent庫(kù)镣屹;
yum-yinstalllibevent
?3圃郊、 安裝libfastcommon
? libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS運(yùn)行所需要的一些基礎(chǔ)庫(kù)女蜈。
(1)上傳 libfastcommonV1.0.7.tar.gz到Centos機(jī)器上持舆;
(2)將 libfastcommonV1.0.7.tar.gz解壓至/usr/local/下:
tar-zxvf libfastcommonV1.0.7.tar.gz -C /usr/local/
(3)切換目錄到:/usr/local/libfastcommon-1.0.7/ 下,接著進(jìn)行編譯和安裝鞭光;
cd /usr/local/libfastcommon-1.0.7/./make.sh? ? ? ? ? #編譯./make.shinstall#安裝
安裝后的截圖:
(4)libfastcommon安裝好后會(huì)在/usr/lib64 目錄下生成 ?libfastcommon.so 庫(kù)文件吏廉;
注意:由于FastDFS程序引用usr/lib目錄所以需要將/usr/lib64下的庫(kù)文件拷貝至/usr/lib下。
cplibfastcommon.so /usr/lib
?4惰许、安裝tracker
?(1)上傳?FastDFS_v5.05.tar.gz 到 centos 上席覆;
(2)將FastDFS_v5.05.tar.gz 解壓至/usr/local/下
tar-zxvf FastDFS_v5.05.tar.gz -C /usr/local
(3)切換目錄到: /usr/local/FastDFS/ 下,編譯和安裝汹买;
cd /usr/local/FastDFS/./make.sh&& ./make.shinstall#編譯之后接著進(jìn)行安裝
安裝后的截圖:
(4)安裝成功將安裝目錄下的conf下的文件拷貝到/etc/fdfs/下佩伤;
cp/usr/local/FastDFS/conf/* /etc/fdfs/
?5、配置和啟動(dòng)tracker
(1)切換目錄到: /etc/fdfs/ 目錄下晦毙;
(2)拷貝一份新的tracker配置文件
cptracker.conf.sample tracker.conf
(3)修改tracker.conf ;?vim tracker.conf
base_path=/home/yuqing/fastdfs? 改為:? base_path=/home/fastdfs
http.server_port? 改為: 80
base_path=/home/fastdfshttp.server_port=80#配置http端口
(4)創(chuàng)建?/home/fastdfs 目錄
mkdir/home/fastdfs
?(5)啟動(dòng)tracker生巡,運(yùn)行如下命令:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.confrestart
注意:在/home/fastdfs/ 目錄下生成兩個(gè)目錄, 一個(gè)是數(shù)據(jù)见妒,一個(gè)是日志孤荣;
6、配置和啟動(dòng)storage
?由于上面已經(jīng)安裝過(guò)FastDFS须揣,這里只需要配置storage就好了盐股;
(1)切換目錄到: /etc/fdfs/ 目錄下;
(2)拷貝一份新的storage配置文件
cp storage.conf.sample storage.conf
(3)修改storage.conf ;vim storage.conf
group_name=group1 #配置組名
base_path=/home/yuqing/fastdfs? ? 改為:base_path=/home/fastdfs
#store存放文件的位置(
store_path)
store_path0=/home/yuqing/fastdfs? 改為:store_path0=/home/fdfs_storage
#如果有多個(gè)掛載磁盤則定義多個(gè)store_path耻卡,如下
#store_path1=.....
#store_path2=......
#配置tracker服務(wù)器:IP
tracker_server=192.168.172.20:22122
#如果有多個(gè)則配置多個(gè)tracker
#tracker_server=192.168.101.4:22122
#配置http端口
http.server_port=88
?(4)創(chuàng)建?/home/fdfs_storage 目錄
mkdir/home/fdfs_storage
(5)啟動(dòng)storage疯汁, 運(yùn)行命令如下:
/usr/bin/fdfs_storaged /etc/fdfs/storage.confrestart
啟動(dòng)完成后進(jìn)入 /home/fdfs_storage/data 目錄下,顯示目錄如下:
?7卵酪、使用FastDFS自帶工具測(cè)試
(1)切換目錄到?/etc/fdfs/ 目錄下幌蚊;
(2)拷貝一份新的client配置文件
cp client.conf.sample client.conf
(3)修改client.conf ;vim client.conf谤碳,修改基本路徑和tracker_server如下:
? 注意:若tracker有多個(gè),可以配置多個(gè)溢豆,如下:
#tracker_server=......
#tracker_server=......
(4)拷貝一張圖片luzhouYue.jpg?到Centos服務(wù)器上的 /usr1 目錄下蜒简;
(5)進(jìn)行測(cè)試,運(yùn)行如下:(運(yùn)行測(cè)試程序沫换,讀取/etc/fdfs/client.conf文件臭蚁,上傳/usr1目錄下的luzhouYue.jpg文件)
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr1/luzhouYue.jpg
?結(jié)果如下,表示搭建成功讯赏;
以上圖中的文件地址:http://192.168.172.20/group1/M00/00/00/wKisFFpBG9eAHaQvAAAWKd1hQR4158_big.jpg?對(duì)應(yīng)storage服務(wù)器上的/home/fdfs_storage/data/00/00/wKisFFpBG9eAHaQvAAAWKd1hQR4158_big.jpg文件垮兑;
由于現(xiàn)在還沒(méi)有和nginx整合無(wú)法使用http下載。
8漱挎、FastDFS 和nginx整合
?8.1 在tracker上安裝 nginx
?在每個(gè)tracker上安裝nginx系枪,的主要目的是做負(fù)載均衡及實(shí)現(xiàn)高可用。如果只有一臺(tái)tracker可以不配置nginx磕谅。
?一個(gè)tracker對(duì)應(yīng)多個(gè)storage私爷,通過(guò)nginx對(duì)storage負(fù)載均衡;
?8.2 在storage 上安裝nginx
?(1)上傳?fastdfs-nginx-module_v1.16.tar.gz 到Centos服務(wù)器上膊夹;
(2)解壓?fastdfs-nginx-module_v1.16.tar.gz 到 /usr/local目錄下衬浑;
tar-zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local
(3)切換目錄到: /usr/local/fastdfs-nginx-module/src/ 目錄下
cd /usr/local/fastdfs-nginx-module/src/
(4)修改config文件,將文件中的所有 /usr/local/ 路徑改為 /usr/
修改完成后:
(5)將fastdfs-nginx-module/src下的mod_fastdfs.conf拷貝至/etc/fdfs/下
cpmod_fastdfs.conf /etc/fdfs/
(6)并修改?/etc/fdfs/mod_fastdfs.conf 的內(nèi)容放刨;vi /etc/fdfs/mod_fastdfs.conf
?base_path=/tmp 修改為?base_path=/home/fastdfs
base_path=/home/fastdfs
tracker_server=192.168.172.20:22122
#tracker_server=192.168.172.20:22122#(多個(gè)tracker配置多行)
url_have_group_name=true#url中包含group名稱
store_path0=/home/fdfs_storage#指定文件存儲(chǔ)路徑(上面配置的store路徑)
(7)將libfdfsclient.so拷貝至/usr/lib下
cp/usr/lib64/libfdfsclient.so /usr/lib/
(8)創(chuàng)建nginx/client目錄
mkdir-p /var/temp/nginx/client
8.3 Nginx的安裝
(1)上傳 nginx-1.8.0.tar.gz?到Centos服務(wù)器上工秩;
(2)解壓 nginx-1.8.0.tar.gz?到 /usr/local目錄下;
tar-zxvf nginx-1.8.0.tar.gz -C /usr/local/
(3)安裝nginx的依賴庫(kù)
yuminstall pcreyuminstallpcre-develyuminstall zlibyuminstallzlib-develyuminstall opensslyuminstallopenssl-devel
(4)進(jìn)入nginx解壓的目錄下:cd /usr/local/nginx-1.8.0/
(5)加入模塊命令配置
./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
注意:上邊將臨時(shí)文件目錄指定為/var/temp/nginx进统,需要在/var下創(chuàng)建temp及nginx目錄助币;
(6)編譯并安裝
make&&makeinstall
安裝成功后查看生成的目錄,如下所示:
(7)拷貝配置文件到 /etc/fdfs 下螟碎;
cd /usr/local/FastDFS/confcphttp.conf mime.types /etc/fdfs/
(8)修改nginx配置文件
mkdir /usr/local/nginx/logs # 創(chuàng)建logs目錄
cd /usr/local/nginx/conf/vim nginx.conf
做如下的修改:
說(shuō)明:
(a.) server_name指定本機(jī)ip眉菱;
(b.)?location /group1/M00/:group1為nginx 服務(wù)FastDFS的分組名稱,M00是FastDFS自動(dòng)生成編號(hào)掉分,對(duì)應(yīng)store_path0=/home/fdfs_storage俭缓,如果FastDFS定義store_path1,這里就是M01
?(9)nginx的啟動(dòng)
cd /usr/local/nginx/sbin/./nginx
?查詢nginx進(jìn)程
(10) fastdfs 和 nginx 服務(wù)的開(kāi)機(jī)自啟動(dòng):?http://www.cnblogs.com/yufeng218/p/8215381.html
?9酥郭、在瀏覽器中訪問(wèn)上傳到fastDFS的圖片
因?yàn)镃entos系統(tǒng)有防火墻尔崔,需要先關(guān)閉掉,才可以在瀏覽器中訪問(wèn)褥民;
(1)CentOS 7.0默認(rèn)使用的是firewall作為防火墻;若沒(méi)有啟用iptables 作為防火墻洗搂,則使用以下方式關(guān)閉防火墻:
systemctl stop firewalld.service#停止firewallsystemctl disable firewalld.service#禁止firewall開(kāi)機(jī)啟動(dòng)firewall-cmd --state#查看默認(rèn)防火墻狀態(tài)(關(guān)閉后顯示notrunning消返,開(kāi)啟后顯示running)
(2)若已經(jīng)啟用iptables作為防火墻载弄,則使用以下方式關(guān)閉:
service iptables stop? #臨時(shí)關(guān)閉防火墻
chkconfig iptables off #永久關(guān)閉防火墻
防火墻的相關(guān)鏈接:http://www.jb51.net/article/101576.htm
??http://www.linuxidc.com/Linux/2015-05/117473.htm
?(3)在谷歌瀏覽器中訪問(wèn)剛才上傳的圖片:
剛才上傳的圖片地址為:http://192.168.172.20/group1/M00/00/00/wKisFFpBG9eAHaQvAAAWKd1hQR4158_big.jpg
轉(zhuǎn)自https://www.cnblogs.com/yufeng218/p/8111961.html