Linux安裝FastDFS+Nginx檔案伺服器
阿新 • • 發佈:2019-01-28
環境準備
安裝gcc
FastDFS是C語言開發,建議在linux上執行,文件中使用Centos6.5作為安裝環境。安裝FastDFS需要先將官網下載的原始碼進行編譯,編譯依賴gcc環境;所以需要安裝gcc。
yum install gcc-c++
安裝libevent
FastDFS依賴libevent庫,需要安裝。執行如下命令:
yum -y install libevent
安裝libfastcommon
libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS執行所需要的一些基礎庫。上傳並安裝如下:
cd /usr/local 使用rz上傳檔案“libfastcommonV1.0.7.tar.gz” #解壓libfastcommon tar -xzvf libfastcommonV1.0.7.tar.gz rm -rf libfastcommonV1.0.7.tar.gz #進入解壓資料夾,編譯,安裝 cd libfastcommon-1.0.7/ #編譯: ./make.sh #安裝: ./make.sh install 【注意】libfastcommon安裝好後會自動將庫檔案拷貝至/usr/lib64下,由於FastDFS程式引用usr/lib目錄所以需要將/usr/lib64下的庫檔案拷貝至/usr/lib下。 #拷貝檔案 cp /usr/lib64/libfastcommon.so /usr/lib/
安裝tracker追蹤伺服器
安裝
cd /usr/local/
使用rz 上傳“FastDFS_v5.05.tar.gz”
#解壓
tar -xzvf FastDFS_v5.05.tar.gz
rm -rf FastDFS_v5.05.tar.gz
#進入解壓資料夾,編譯,安裝
cd FastDFS
#編譯
./make.sh
#安裝
./make.sh install
#安裝成功後,將安裝目錄下的conf下的檔案拷貝到/etc/fdfs/下
cd conf/
cp * /etc/fdfs/
配置
#安裝成功後進入/etc/fdfs目錄 cd /etc/fdfs/ #修改追蹤伺服器核心配置檔案tracker.conf vim tracker.conf 把資料與日誌檔案路徑 base_path=/home/yuqing/fastdfs 改為: base_path=/home/fastdfs
【說明】tracker.conf 檔案中可以配置埠與IP,預設埠為:22122
建立fastdfs存放資料與日誌資料夾
mkdir /home/fastdfs
【提示】vim顯示行號的設定,在底行模式輸入set nu,回車即可。
啟動
#用/usr/bin/fdfs_trackerd命令 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart 可多次執行上述restart,啟動日誌顯示先停止****程序再啟動。 #程序中檢視 ps -ef | grep fdfs #設定開機自動啟動。 vim /etc/rc.d/rc.local 將執行命令列新增進檔案: /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
安裝storage儲存伺服器
安裝
如果在同一臺機器安裝則可以不再安裝,因為安裝FastDFS時它就包含了tracker與storage。若不在一臺機器則需要安裝gcc/libevent/libfastcommon,然後再和安裝tracker一樣安裝一次。
配置
#安裝成功後進入/etc/fdfs目錄
cd /etc/fdfs/
#修改儲存伺服器核心配置檔案storage.conf
vim storage.conf
把資料與日誌檔案路徑
base_path=/home/yuqing/fastdfs
改為:
base_path=/home/fastdfs
把儲存檔案路徑
store_path0=/home/yuqing/fastdfs
改為:
store_path0=/home/fastdfs/fdfs_storage
【注意】如果有多個掛載磁碟則定義多個store_path,如下
#store_path1=.....
#store_path2=......
#配置tracker伺服器:IP
tracker_server=192.168.12.128:22122
#如果有多個則配置多個tracker
#建立fdfs_storage資料夾
mkdir /home/fastdfs/fdfs_storage
【提示】vim跳轉行號的方式為:在底行命令下:n ,n表示行號,如:12跳轉到第12行
啟動
#用/usr/bin/fdfs_storaged命令
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
可多次執行上述restart,啟動日誌顯示先停止****程序再啟動。
# 檢視程序
ps -ef | grep fdfs
#設定開機自動啟動。
vim /etc/rc.d/rc.local
將執行命令列新增到檔案:
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
測試(瞭解可忽略)
FastDFS安裝成功可通過/usr/bin/fdfs_test測試上傳、下載等操作。
#修改/etc/fdfs/client.conf
vim /etc/fdfs/client.conf
修改如下內容:
base_path=/home/fastdfs
tracker_server=192.168.12.128:22122
#使用/usr/bin/fdfs_test命令格式:
/usr/bin/fdfs_test 客戶端配置檔案 upload 上傳檔案
/usr/bin/fdfs_test /etc/fdfs/client.conf upload xxx.txt
#如將/root下的日誌上傳到FastDFS中:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/install.log
返回資訊
example file url:
http://192.168.12.128/group1/M00/00/00/wKgMqFiPIp6ALlCOAACU3VvlSIU081_big.log就是檔案下載路徑
對應storage伺服器上的
/home/fastdfs/fdfs_storage/data/00/00/wKgMqFiPIp6ALlCOAACU3VvlSIU081_big.log
說明:0x00-0xFF(0-256) 生成256個資料夾進行儲存,還沒有和nginx整合無法使用http下載。
# 刪除測試上傳的檔案
cd /home/fastdfs/fdfs_storage/data/00/00
rm -rf *
與nginx整合
一般在每個tracker上安裝nginx,的主要目的是做負載均衡及實現高可用;在此不安裝。
FastDFS-nginx-module整合nginx
cd /usr/local/
使用rz上傳“fastdfs-nginx-module_v1.16.tar.gz”
#解壓
tar -xzvf fastdfs-nginx-module_v1.16.tar.gz
#編輯配置檔案
cd fastdfs-nginx-module/src/
#修改config檔案,將其內的/usr/local/路徑改為/usr/
vim config
#將fastdfs-nginx-module/src下的mod_fastdfs.conf拷貝至/etc/fdfs/下
cp mod_fastdfs.conf /etc/fdfs/
#修改mod_fastdfs.conf的內容:
vim /etc/fdfs/mod_fastdfs.conf
修改內容如下:
base_path=/home/fastdfs
tracker_server=192.168.12.128:22122
#tracker_server=192.168.12.128:22122(多個tracker配置多行)
url_have_group_name=true #url中包含group名稱
store_path0=/home/fastdfs/fdfs_storage #指定檔案儲存路徑
#將libfdfsclient.so拷貝至/usr/lib下
cp /usr/lib64/libfdfsclient.so /usr/lib/
#建立nginx/client臨時檔案儲存目錄
mkdir -p /var/temp/nginx/client
#將libfdfsclient.so拷貝至/usr/lib下
cp /usr/lib64/libfdfsclient.so /usr/lib/
#建立nginx/client臨時檔案儲存目錄
mkdir -p /var/temp/nginx/client
安裝nginx反向代理伺服器
# 安裝nginx需要依賴的三個庫
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
cd /root
使用rz上傳“nginx-1.11.13.tar.gz”
#解壓,並進入解壓資料夾
tar -xzvf nginx-1.11.13.tar.gz && cd nginx-1.11.13
執行以下配置命令新增fastdfs-nginx-module模組:
./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
配置成功
#編譯並安裝
make
make install
說明:預設安裝到/usr/local/nginx目錄,nginx-1.11.13原始檔夾可以刪除。
配置nginx
#修改nginx配置檔案
vim /usr/local/nginx/conf/nginx.conf
#新增server:
server {
listen 80;
server_name 192.168.12.128;
location /group1/M00/{
ngx_fastdfs_module;
}
}
說明:
server_name指定本機ip
location /group1/M00/:group1為nginx 服務FastDFS的分組名稱,M00是FastDFS自動生成編號,對應store_path0=/home/fastdfs/fdfs_storage,如果FastDFS定義store_path1,這裡就是M01
vim編輯時,在游標所在的行,連續輸入兩次小寫的d,即dd,就可以成功刪除該行.
啟動nginx反向代理伺服器
#啟動Nginx
/usr/local/nginx/sbin/nginx
#設定開機自動啟動。
vim /etc/rc.d/rc.local
將執行命令列新增進檔案:
/usr/local/nginx/sbin/nginx
#關閉防火牆
service iptables stop
#設定防火牆不自動啟動
chkconfig iptables off
測試(瞭解)
確認fastDFS服務
#確認tracker是否啟動
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
如下圖關閉執行緒再執行則表示成功
#確認storage是否啟動
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
如下圖關閉執行緒再執行則表示成功
上傳測試
把圖片上傳到FastDFS中,上傳命令如下,最後的檔名就是要上傳的圖片:
cd /root
/usr/bin/fdfs_test /etc/fdfs/client.conf upload 1.jpg 出現以下url地址表示上傳成功
檢視檔案把上述生成的url地址在瀏覽器輸入;如果顯示成功則表示FastDFS可以使用。