fastdfs是分佈式文本管理系統
搭建前的準備:fastDFS 軟件包,nginx,nginx-fastdfs-module 相關的軟
其中fastdfs-5.05.tar.gz 和fastdfs-nginx-module 可以在官網下載:可以參照該博客:https://www.cnblogs.com/fanjingfeng/p/9849697.html
nginx自己下載
還需要下載在fastdfs官網下載libfastcommon:https://sourceforge.net/projects/libfastcommon/files/
然後將你的軟件都上傳到你的linux上,我用的是centos
linux一些依賴的準備工作
1:執行
yum -y install libevent
2: 我們解壓libfastcommon 軟件,我們用libfastcommon-1.0.7.tar.gz爲例
tar -zxvf libfastcommon-1.0.7.tar.gz
然後
cd libfastcommon-1.0.7
然後執行編譯腳本
./make.sh
然後安裝
./make.sh install
安裝在 /usr/lib64:
cd /usr/lib64
ll libfast*
會看到 有libfastcommon.so
然後我們需要將文件放到 /usr/lib 下,因爲 /usr/lib 是32位 、/usr/lib64 是64位
cp libfastcommon.so /usr/lib
cp libfdfsclient.so /usr/lib
3:解壓 fastdfs軟件包
tar -zxvf fastdfs-5.05.tar.gz
解壓完
cd fastdfs-5.05
./make.sh
./make.sh install
安裝在 /usr/bin目錄下
cd /usr/bin
ll fdfs*
可以看到很多fdfs相關文件
其中還有一部分配置文件放在 /etc/fdfs/
然後進入到我們的解壓的fastdfs文件夾目錄下
然後
cd /conf
然後將conf 夏目的配置文件複製到/etc/fdfs
cp * /etc/fdfs
4:配置tracker服務
cd /etc/fdfs
#修改tracker.conf
vim tracker.conf
我們會看到port=22122 我們不需要修改,以後配置nginx需要這個端口
找到base_paths是日誌的保存路徑,我們修改日誌路徑,可以根據自己需要自行配置位置
base_path=/fastdfs/tracker
然後保存
然後在根目錄創建我們配置的文件夾,文件夾不存在一定要創建,否則啓動tracker會報錯
mkdir /fastdfs/tracker -p
然後啓動tracker
步驟如下
cd /usr/bin
ll fdfs*
會看到可執行的命令
啓動執行:
fdfs_trackerd /etc/fdfs/tracker.conf #如果需要重啓 fdfs_trackerd /etc/fdfs/tracker.conf restart
5然後配置storage:
cd /etc/fdfs
#修改storage.conf
vim storage.conf
找到base_paths是日誌的保存路徑,我們修改日誌路徑,可以根據自己需要自行配置位置
base_path=/fastdfs/storage
我們在配置文件中可以看到一個group_name=作用是我們訪問一個圖片是的前綴,我們設置爲share
group_name=share
#然後配置storage_path0 是實際圖片的存儲路徑
storage_path0=/fastdfs/storage
然後配置 tracker_server,ip就是我們自動的tracker所在服務器的ip地址,端口號就是我tracker配置文件的端口號
tracker_server=192.168.66.101:22122
然後保存
然後在根目錄創建我們配置的文件夾,文件夾不存在一定要創建,否則啓動tracker會報錯
mkdir /fastdfs/storage -p
然後啓動storage
步驟如下
cd /usr/bin
ll fdfs*
會看到可執行的命令
啓動執行:
fdfs_storaged /etc/fdfs/storage.conf #如果需要重啓 fdfs_storaged /etc/fdfs/storage.conf restart
ps -ef |grep tracker
ps -ef |grep stroage 都可以查到相關進程
6:然後配置client
cd /etc/fdfs
#修改client.conf
vim client.conf
找到base_paths是日誌的保存路徑,我們修改日誌路徑,可以根據自己需要自行配置位置
base_path=/fastdfs/client
然後配置 tracker_server,ip就是我們自動的tracker所在服務器的ip地址,端口號就是我tracker配置文件的端口號
tracker_server=192.168.66.101:22122
然後保存
然後在根目錄創建我們配置的文件夾,文件夾不存在一定要創建,否則啓動tracker會報錯
mkdir /fastdfs/client-p
然後啓動client
步驟如下
cd /usr/bin
ll fdfs*
會看到可執行的命令
執行:
fdfs_test /etc/fdfs/client.conf upload + 一張圖片的路徑 #這樣就可以上傳到倉庫
執行完會給你返回一個地址,我們可以訪問該圖片(現在尚未配置nginx 所有無法訪問圖片)
我們在倉庫也可以找到該圖片
cd /fastdfs/storage #我們在storage的配置文件中配置的倉庫目錄
cd /data
一開始放在data 下的00 裏面的00,然後就發現相應文件
7:配置nginx
我們上傳過fastdfs-nginx-module的jar包,我們可以進行解壓
然後進入到 cd fastdfs-nginx-module
進入到src
然後pwd 查看在linux 的絕對路徑 (後面要用到)
然後在src文件夾下有配置文件
vim config
修改三個地方:把local刪掉
然後保存
然後我們需要給nginx進行配置,我們解壓完nignx ,我們還需有相應的庫
yum install gcc-c++
yum install pcre pcre-devel
yum install zlib zlib-devel
yum install openssl oppenssl-devel
依賴都安裝完後
進入到傳解壓的nigxin 目錄下
然後複製下面內容
./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/src/fastdfs-nginx-module/src
# 注意這裏的路徑換成你的fastdfs-nginx-module的src的路徑,前面配置fastdfs-nginx-module 中我們講過要留意路徑
#注意上述命令 \ 都不能少,我就少了,結果找了一天才找到錯誤
複製完上述路徑後,直接在nginx的文件下,粘貼,然後回車(注意兩點:1. 上面的內容有個路徑換成你的 ,2.直接粘貼,直接粘貼,直接粘貼重要的是說三遍)就像下圖
然後執行make install
然後進入到
/usr/local/下就可以看到我們的nginx
8:
然後進入到fastdfs-nginx-module 的解壓的目錄下,進入src
將mod_fastdfs.conf 複製到/etc/fdfs 下面
cp mod_fastdfs.conf /etc/fdfs/
然後
cd /etc/fdfs/
vim mod_fastdfs.conf
#找到base_path 修改爲
base_path=/fastdfs/tmp
#找到tracker_server,ip是你tracker的ip
tracker_server=192.168.66.101:22122
#找到group_name ,這裏要和stroage的group_name一致
group_name=share
#找到url_have_group_name
url_have_group_name=true
然後保存
然後創建 tmp文件夾
cd /fastdfs
mkdir tmp
然後進入到
cd /etc/fdfs
9:配置nginx
cd /usr/local/nginx/conf
#可以看到nginx.conf
vim nginx.conf
#然後添加服務器
server {
listen 88; #監聽的端口88
server_name 192.168.66.101;
location /share/M00 { #share是我們配置的storage的group_name
ngx_fastdfs_module;
}
}
然後保存
cd /usr/local/nginx/sbin
./nginx -t #來檢測nginx配置是否配置