最代碼廣告位
最代碼人間蒸發的gravatar頭像
最代碼人間蒸發2019-10-28 22:08:12
centos7下安裝fastDFS(圖片管理服務)

 

首先介紹一下這個fastDFS,各位牛牛可以百度一下,我簡單查了一下,圖片管理為什么使用FastDFS,在伊成的建議下我開始了對這個東西的摸索。

此博客為伊成忘記了最代碼的密碼,此博客屬于伊成原創,我替他分享給大家,大家也可拜訪他搭建的博客

這里聲明一下,改天我會再寫一篇docker上安裝fastDFS,這就是我的原創了。

那么接下來進入主題。

1.下載fastDFS

wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz

wget http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz
wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz

下載完成之后修改tar包名稱,更改完成如下圖

centos7下安裝fastDFS(圖片管理服務)

2.下載nginx

wget http://nginx.org/en/download.html

3.安裝libevent

yum -y install libeven

centos7下安裝fastDFS(圖片管理服務)

找到 fastDFS 目錄下的 libfastcomm-1.0.7.tar.gz 對其解壓

tar -zxvf libfastcommon-1.0.7.tar.gz
cd libfastcommon-1.0.7/  //進入文件


centos7下安裝fastDFS(圖片管理服務)

./make.sh  
install //編譯并且安裝

安裝完成后切換到usr/lib64下

cd /usr/lib64/
ll libfast*

centos7下安裝fastDFS(圖片管理服務)
 

libfastcommon.so文件復制到usr/lib

cp libfastcommon.so /usr/lib/

安裝 tracker

切換到 fastdfs-5.05.tar.gz 所在的目錄
centos7下安裝fastDFS(圖片管理服務)

tar -zxvf fastdfs-5.05.tar.gz  //解壓
./make.sh //編譯
./make.sh install //安裝

安裝完成之后,有一部分的配置文件會在 /usr/bin/ 目錄下,接著切換到 /usr/bin/ 目錄進行查看

centos7下安裝fastDFS(圖片管理服務)

還有一部分配置文件存在于 /etc/fdfs/

centos7下安裝fastDFS(圖片管理服務)

接著切換到 fastdfs-5.05/conf/ 目錄

 

cd /home/tar/fastDFS/fastdfs-5.05/conf/

 

需要把里面的配置文件復制到/etc/fdfs/ 目錄
centos7下安裝fastDFS(圖片管理服務)
切換到 /etc/fdfs/ 進行查看
centos7下安裝fastDFS(圖片管理服務)

修改配置文件 tracker.conf

 
vim tracker.conf

centos7下安裝fastDFS(圖片管理服務)

修改了 base_path,然后退出保存。

退出之后,在根目錄下創建剛剛修改的base_path 里面定義的目錄,命令如下

 
mkdir /fastdfs/tracker -p

 

centos7下安裝fastDFS(圖片管理服務)
查看是否創建成功
centos7下安裝fastDFS(圖片管理服務)
在 fastdfs 下繼續創建兩個文件夾,后續會使用到的

 
mkdir storage
mkdir client

centos7下安裝fastDFS(圖片管理服務)

做完這一步操作之后,回到 /usr/bin/ 目錄
centos7下安裝fastDFS(圖片管理服務)

在這里找到fdfs_trackerd文件,而這個文件就是用來啟動tracker的文件。
執行啟動命令

1
fdfs_trackerd /etc/fdfs/tracker.conf

假如你的tracker.conf 配置文件發生了變化,那么至需要在這個命令后面加一個restart 即可

 
fdfs_trackerd /etc/fdfs/tracker.conf restart

到此為止,fastDFS中的 tracker服務 已經OK了。

安裝storage

切換目錄到 /etc/fdfs/ 上面我們已經修改了tracker.conf,接著找到storage.conf文件
centos7下安裝fastDFS(圖片管理服務)

 
group_name=group1 // 組織名,改成你想要的即可
store_path0=/home/yuqing/fastdfs//圖片存儲路徑
tracker_server=192.168.209.121:22122//IP配置為你當前的服務器ip,端口是默認的可不做修改
base_path=/fastdfs/storage // 這個目錄路徑在前面已經創建過的,在這里就直接寫這個即可

這個文件就需要該這幾個配置項,改為就直接保存退出。
切換到 /usr/bin/目錄可以用來啟動 storage 服務
centos7下安裝fastDFS(圖片管理服務)

找到 fdfs_storaged
執行命令

 
fdfs_storaged /etc/fdfs/storage.conf

 

如果storage.conf 有改動,可以重啟storage服務就直接在上面的命令后面加一個 restart

 
fdfs_storaged /etc/fdfs/storage.conf restart

啟動完成之后可以查看一下

 
ps aux | grep storage

centos7下安裝fastDFS(圖片管理服務)

到此為止,fastDFS中的 storage服務也已經OK了。

以上 storage服務和tracker服務都啟動了,接著做個小測試。
在做這測之前,還需要幾件事

配置client

首先切換到 /etc/fdfs/ 目錄
centos7下安裝fastDFS(圖片管理服務)

修改 client.conf 配置文件

 
base_path=/fastdfs/client //這個目錄也是之前已經創建好了的
tracker_server=192.168.1.10:22122 // IP修改為你的服務器IP 端口默認的可不做修改

 

修改完成之后,退出保存

測試

下面就可以做測試了。
首先還是要切換目錄到 /usr/bin/
centos7下安裝fastDFS(圖片管理服務)

找到 fdfs_test 這個服務就可以做相應的測試,記得事先準備一張測試圖片。
我這里事先準備了一張圖片在根目錄下
切換到 home 目錄查看
centos7下安裝fastDFS(圖片管理服務)

執行命令

 
/usr/bin/fdfs_test /etc/fdfs/client.conf upload zhu.png

 

看見如下就代表上傳成功了
centos7下安裝fastDFS(圖片管理服務)

說明:
上圖可以看見我們曾配置的 組織名 group_name
還有文件名,以及訪問圖片的URL。

到這一步雖然有了這個圖片的url 但是我們還是訪問不到這個圖片的,因為我們并沒有配置對應的web服務器,接下來會配置nginx 。

思考一個問題,由上面的圖片已經上傳成功了,那這圖片到底存儲在哪里了呢?
這個取決于你的配置文件里面的配置,我這里是在這個路徑下

 
/fastdfs/storage/data/00/00

centos7下安裝fastDFS(圖片管理服務)

異常情況
如果上傳失敗一般都是你的配置文件修改的有誤,這里附上一個常見的錯誤場景
centos7下安裝fastDFS(圖片管理服務)

解決方法,參考這個鏈接
https://blog.csdn.net/egbertasd/article/details/90762478

修改完配置文件,記得重啟對應的服務!

配置nginx

切換到目錄 /home/tar/fastDFS/
找到對應的 fastdfs-nginx-module_v1.16.tar.gz
對其解壓

 
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

解壓完成之后 進入到 fastdfs-nginx-module
在進入到 里面的 src
修改 config 文件
centos7下安裝fastDFS(圖片管理服務)

刪掉標紅的三個 local ,因為和我們配置的路徑不一致。

修改完成之后,保存退出。
操作完以上步驟之后,切換目錄到 nginx 的tar包下
centos7下安裝fastDFS(圖片管理服務)

在安裝nginx 之前要先安裝必要的一些庫

 
1. yum install gcc-c++
2. yum install pcre prce-devel
3. yum install zlib zili-devel
4. yum install openssl openssl-devel

 

接著解壓 nginx

 
tar -zxvf nginx-1.12.2.tar.gz

進入 nginx
centos7下安裝fastDFS(圖片管理服務)

接下來需要運行一段配置文件

 
./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=(這里填寫你的fastdfs-ngix-module的路徑)

 

復制在 nginx 下回車就可以運行
centos7下安裝fastDFS(圖片管理服務)

接著make 編譯一下

 
make

編譯完成之后,執行安裝命令

 
make install

centos7下安裝fastDFS(圖片管理服務)

安裝完成之后,在 /usr/local/ 目錄下就會存在一個nginx文件夾
centos7下安裝fastDFS(圖片管理服務)

做到這一步,還需要一個fast和nginx的 “橋梁配置文件” 切換目錄到

 
cd /home/tar/fastDFS/fastdfs-nginx-module/src

centos7下安裝fastDFS(圖片管理服務)

找到 mod_fastdfs.conf 文件
把它復制到 /etc/fdfs/

 
cp mod_fastdfs.conf /etc/fdfs/

進入 /etc/fdfs/ 目錄進行查看并且使用 vim 修改這個文件

1
2
# the base path to store log files
base_path=/fastdfs/tmp

修改完成保存,然后在 fastdfs 下面創建 tmp 文件夾
centos7下安裝fastDFS(圖片管理服務)

在此 進入到 /etc/fdfs/ 目錄
繼續修改 mod_fastdfs.conf 文件

 
tracker_server=192.168.1.10:22122 //配置你的服務器ip
group_name=yicheng  // 和之前配置的組織名要一致
url_have_group_name = true // 默認為關閉的 這里修改為true

修改完成之后保存退出。

接著到 /usr/local/nginx/conf 目錄
修改nginx.conf文件
添加以下內容在 nginx.conf 文件

 
server{
       listen      88;
       server_name 192.168.1.10;

       location /yicheng/M00 {
           ngx_fastdfs_module;
       }

   }

 

接著可以進入sbin目錄進行nginx的啟動了
執行命令先檢查一下

 
./nginx -t

在這里提示 /var/temp/nginx/ 目錄不存在
執行以下命令

 
mkdir /var/temp/nginx -p

再次執行 ./nginx -t
centos7下安裝fastDFS(圖片管理服務)

發現沒問題了,就可以直接啟動nginx 了,執行命令

1
./nginx

centos7下安裝fastDFS(圖片管理服務)

打開瀏覽器輸入IP訪問試試
centos7下安裝fastDFS(圖片管理服務)
說明 nginx 已經成功啟動了!!!

接著找一下開始上傳成功的那個圖片路徑,復制到瀏覽器中訪問一下。
centos7下安裝fastDFS(圖片管理服務)
突然發現還是訪問不了這張圖片,因為現在我們使用的是nginx 的服務器,上文中有一個fastDFS和nginx 的橋梁配置文件,里面沒有配置存放路徑。
進入 /etc/fdfs/ 目錄,找到 mod_fastdfs.conf 文件,修改它

 
store_path0=/fastdfs/storage

 

保存退出。

接著重啟 tracker , storage
centos7下安裝fastDFS(圖片管理服務)
重啟 nginx
centos7下安裝fastDFS(圖片管理服務)

在瀏覽器刷新剛剛的url 進行查看!
centos7下安裝fastDFS(圖片管理服務)

到此,全文結束!


打賞

分享到:

最近瀏覽
kinggode LV13昨天
月亮月亮月亮星星
明天更美好 LV812月5日
月亮月亮
隨翼 LV1211月28日
月亮月亮月亮
hr4370913 LV811月9日
月亮月亮
dakai6677 LV1011月8日
月亮月亮星星星星
我是沫沫兒 LV411月6日
月亮
zhujunnan LV311月5日
星星星星星星
shanjunkai123 LV211月5日
星星星星
仲愷小霸王 LV411月4日
月亮
我是誰0java LV1011月4日
月亮月亮星星星星
最代碼廣告位
頂部客服微信二維碼底部
>掃描二維碼關注最代碼為好友掃描二維碼關注最代碼為好友
福彩3d组选020前后关系