簡介
今天周末,女兒睡覺了,家務活也忙完了,下午沒事,正好把fastdfs給弄了。在我的阿裡雲伺服器我已經試驗成功了,其實也是按照網上的一些資料來配置的。接下來就把步驟給整理了一下。
- FastDFS安裝包收集
- FastDFS安裝
- FastDFS配置
- 給storage安裝nginx并配置
- 給tracker安裝nginx并配置
FastDFS安裝包收集
- FastDFS_v5.05.tar.gz
- fastdfs-nginx-module_v1.16.tar.gz
- libfastcommon-1.0.7.zip
- nginx-1.7.8.tar.gz
FastDFS安裝包下載下傳
有些系統環境可以用yum線上安裝,下文會提到。
FastDFS安裝
-
在centos下的opt目錄下建立3個檔案夾:
1)配置tracker所需的base_path:
mkdir /opt/fastdfs/fastdfs_tracker
2) 配置storage所需的日志目錄:
mkdir /opt/fastdfs /fastdfs_storage_info
3)配置storage所需的存儲檔案目錄:
mkdir /opt/fastdfs/fastdfs_storage_data
-
将壓縮包libfastcommon-1.0.7.zip和fastdfs-5.05.tar.gz上傳到遠端伺服器的/home/install下,從本地上傳到Linux伺服器可以用scp命名,指令如下:
scp 本地檔案的位址 遠端伺服器使用者名@遠端伺服器位址:遠端伺服器上傳的目錄
例子:
scp c:/software/xxx.zip [email protected]:/home/install
-
在/home/install下解壓縮libfastcommon-1.0.7.zip
unzip libfastcommon-1.0.7.zip
進入到解壓後的檔案夾libfastcommon-1.0.7進行安裝
./make.sh
./make.sh insatll
-
上述安裝的路徑在/usr/lib64/,但是FastDFS主程式設定的lib目錄是/usr/local/lib,是以需要建立軟連接配接如下:
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
如果報錯了可能是因為目錄之間的空格。有可能少了一個空格,有可能多了一個空格。
-
解壓縮:FastDFS-5.05.tar.gz并安裝
tar –zxvf FastDFS-5.05.tar.gz
./make.sh
./make.sh install
-
打開 /etc/fdfs目錄發現有以下三個配置檔案存在,說明安裝成功
mod_fastdfs.conf.sample
storage.conf.sample
tracker.conf.sample
FastDFS的配置
-
配置tracker:
進入/etc/fdfs檔案夾,執行指令:
cp tracker.conf.sample tracker.conf
vim tracker.conf
a. disabled=false #啟用配置檔案,我配置的時候預設就是false,最好檢查一下
b. port=22122 #設定tracker的端口号,一般采用22122這個預設端口
c. base_path=/opt/fastdfs/fastdfs_tracker #設定tracker的資料檔案和日志目錄,這個目錄是一開始建立的,需要與之對應起來
啟動tracker:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
啟動完畢後,可以通過以下兩個方法檢視tracker是否啟動成功:
a. netstat -unltp|grep fdfs,檢視22122端口監聽情況
b. 通過以下指令檢視tracker的啟動日志,看是否有錯誤: tail -100f /opt/fastdfs_tracker/logs/trackerd.log
-
配置storage:
進入/etc/fdfs檔案夾,執行指令:
cp storage.conf.sample storage.conf
vim storage.conf,對以下幾個選項進行編輯:
a. disabled=false #啟用配置檔案
b. group_name=group1 #組名,根據實際情況修改
c. port=23000 #設定storage的端口号,預設是23000,同一個組的storage端口号必須一緻
d. base_path=/opt/fastdfs/fastdfs_storage_info #設定storage的日志目錄(需預先建立)
e. store_path_count=1 #存儲路徑個數,需要和store_path個數比對
f. store_path0=/opt/fastdfs/fastdfs_storage_data #存儲路徑
g. tracker_server=192.168.1.14:22122 #tracker伺服器的IP位址和端口号
啟動storage,執行如下指令:
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
啟動完畢後,可以通過以下兩個方法檢視storage是否啟動成功:
a. netstat -unltp|grep fdfs,檢視23000端口監聽情況
b. 通過以下指令檢視storage的啟動日志,看是否有錯誤: tail -100f /opt/fastdfs_storage_info/logs/storaged.log
若成功,可将storage的啟動添加到開機啟動中:
vi /etc/rc.d/rc.local
将/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart添加到檔案中
-
配置client:
一、 打開 /etc/fdfs 檔案夾,執行如下指令:
cp client.conf.sample client.conf
vim client.conf
修改以下項目:
a. base_path=/opt/fastdfs/fastdfs_tracker #存放路徑
b. tracker_server=192.168.1.14:22122 #tracker伺服器IP位址和端口号
二、 模拟上傳檔案,執行如下指令: /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/1.txt(上傳檔案的目錄)
然後你就可以在/opt/fastdfs/fastdfs_storage_data/data/M00/00/00下就可以看見你上傳的檔案了。
給storage安裝nginx并配置
安裝nginx的目的主要是給fastdfs提供http通路的服務,現在的fastdfs不安裝Nginx是通路不了的,必須安裝Nginx。
将nginx-1.7.8.tar.gz和fastdfs-nginx-module_v1.16.tar.gz上傳到/home/install目錄下.
1. 解壓nginx-1.8.0.tar.gz和fastdfs-nginx-module_v1.16.tar.gz
tar zxvf fastdfs-nginx-module_v1.16.tar.gz
tar zxvf nginx-1.7.8.tar.gz
2. 建立兩個檔案夾作為Nginx的安裝路徑
mkdir /opt/fastdfs/nginx
mkdir /opt/fastdfs/nginx2
說明:storage和tracker都需要安裝Nginx,是以需要建立兩個Nginx檔案夾
3. 為Nginx添加fastdfs-nginx-module子產品
cd nginx-1.7.8/
./configure –prefix=/opt/fastdfs/nginx –add-module=/home/install/fastdfs-nginx-module/src
若執行不成功,需要執行
yum -y install pcre-devel
yum install openssl來安裝一些Nginx的準備檔案
有可能會出現本機沒有zlib庫,需要安裝。安裝zlib庫需要下載下傳zlib檔案的,具體安裝zlib的連結如下:
zlib在centos下安裝
相關的環境安裝好之後,在執行
make
make install
make 時如果報錯,執行如下指令:
ln -sv /usr/include/fastcommon /usr/local/include/fastcommon
ln -sv /usr/include/fastdfs /usr/local/include/fastdfs
然後在執行make和make install,這個時候執行的非常快。安裝成功之後
拷貝相關檔案到/etc/fdfs目錄下:
cp /home/install/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
cp /home/install/FastDFS/conf/mime.types /etc/fdfs/
cp /home/install/FastDFS/conf/http.conf /etc/fdfs/
cp /home/install/FastDFS/conf/anti-steal.jpg /etc/fdfs/
以上命名一定要注意目錄之間的空格,如果報錯可能就是你少了空格,或者中間多了空格。
4. 修改nginx.conf的配置(這裡指的是在/opt/fastdfs/nginx下的配置檔案):
user root;
listen 80;
server_name 192.168.1.14;
location ~/group[1-3]/M00 {
root /opt/fastdfs/fastdfs_storage_data/data;
ngx_fastdfs_module;:
}
5. 修改/etc/fdfs/mod_fastdfs.conf的配置:
base_path=/opt/fastdfs/fastdfs_storage_info #儲存日志目錄
tracker_server=192.168.1.14:22122 #tracker 伺服器的 IP 位址以及端口号
url_have_group_name = true #檔案 url 中是否有 group 名
store_path0=/opt/fastdfs/fastdfs_storage_data # 存儲路徑
http.need_find_content_type=true # 從檔案擴充名查找檔案類型 (nginx 時 為true)
group_count = 3 #設定組的個數,事實上這次隻使用了group1
在檔案末添加如下内容:
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs/fastdfs_storage_data
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs/fastdfs_storage_data
[group3]
group_name=group3
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs/fastdfs_storage_data
建立 M00 至存儲目錄的符号連接配接:ln -s /opt/fastdfs/fastdfs_storage_data/data /opt/fastdfs/fastdfs_storage_data/data/M00
啟動nginx:
/opt/fastdfs/nginx/sbin/nginx
給tracker安裝nginx并配置
安裝路徑為:/opt/fastdfs/nginx2
cd nginx-1.7.8/
./configure –prefix=/opt/fastdfs/nginx2 –add-module=/home/install/fastdfs-nginx-module/src
make
make install
nginx.conf配置如下:
user root;
upstream fdfs_group1 {
server 192.168.1.14:22122;
}
server {
listen 81;
server_name 192.168.1.14;
location /group1/M00 {
proxy_pass http://fdfs_group1;
}
}
啟動nginx:
/opt/fastdfs/nginx2/sbin/nginx
配置用戶端檔案:
cd /etc/fdfs/
vim client.conf
修改内容如下:
http.tracker_server_port=6666 # tracker 伺服器的 http 端口号,必須和tracker的設定
http.server_port=6666對應起來
測試通路:192.168.1.14/group1/M00/00/00/檔案全名
結語
梳理了一下安裝步驟,把自己的安裝步驟記錄下來了,fastdfs安裝成功了,那麼接下來就是上傳和下載下傳圖檔了。下一篇部落格将會把fastdfs和咱們的QiYuAdmin項目裡面的頭像的上傳給結合起來。