這篇記錄,如何在ubuntu16 安裝 FastDFS 文件服務器,詳細步驟
環境依賴
apt-get install make
apt-get install unzip
apt-get install gcc
apt-get install libevent-dev
nginx 依賴
安裝gcc g++的依賴庫
sudo apt-get install build-essential
sudo apt-get install libtool
安裝pcre依賴庫(http://www.pcre.org/)
sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev
安裝zlib依賴庫(http://www.zlib.net)
sudo apt-get install zlib1g-dev
安裝SSL依賴庫(16.04默認已經安裝了)
sudo apt-get install openssl
安裝libevent 2.0.2
tar -zxvf libevent-2.0.22-stable.tzr.gz
cd libevent-2.0.22-stable
配置安裝庫的目標路徑:
./configure --prefix=/usr
編譯安裝libevent庫:
make
sudo make install
檢測安裝是否成功
ls -al /usr/lib | grep libevent
安裝libfastcommon-master
解壓
unzip libfastcommon-master.zip
進入該文件,安裝
./make.sh && ./make.sh install
至此,所有環境依賴ok
安裝FDFS
解壓
tar -xvf FastDFS_v5.08.tar.gz
進入
cd FastDFS
編譯安裝
sudo ./make.sh
sudo ./make.sh install
查看是否安裝成功
ll /etc/init.d/ | grep fdfs
結果如下圖所示,同時出現 tracker 和 storage
上面那兩個文件是腳本,分別用來啟動FDFS的tracker和storage , 還要記住他們所在的路徑 /etc/init.d/ 下面
以后要是做開機啟動也是在這里做
安裝完了fdfs之后,重啟一下, 不然下面配置完了 tracker之后,啟動不起來
FDFS配置文件
fdfs啟動回去 /etc/fdfs/下面讀取配置文件, 安裝完后默認會有三個模板配置文件,后續還會添加和http等相關的三個配置文件
我們先啟動 tracker--> 去/etc/fdfs/ 修改tracker的配置文件
cd /etc/fdfs
在FDFS安裝包所在的目錄 創建出兩個新目錄,分別存放 tracker/storage 里面的 數據和日志文件
mkdir XXX
我們先修改tracker , 修改第三個配置文件
重命名配置文件
mv tracker.conf.sample tracker.conf
修改了配置文件,去啟動tracker
sudo service fdfs_trackerd start # 啟動fdfs_trackerd服務,停止用stop
通過下面命令查看是否成功啟動
ps -ef |grep fdfs
啟動storage --編輯storage配置
# 修改文件名
sudo cp storage.conf.sample storage.conf
sudo vim storage.conf
修改配置文件 -- 傳輸過來的文件保存的目錄
base_path=/home/fdfschangwu/fdfs/storage # storage的數據和日志存放目錄
store_path0=/home/fdfschangwu/fdfs/storage # storage的上傳文件存放路徑
tracker_server=192.168.56.101:22122 # tracker的地址
創建不存在的目錄
XXX
啟動storage
sudo service fdfs_storaged start
查看是否啟動
ps -ef | grep fdfs
修改客戶端配置文件
bash_path:換成一個存在的文件夾
tracker_server: 真正存在的那個地址
測試上傳:
命令:
/usr/bin/fdfs_upload_file client.conf /tmp/1.jpg
響應如下:
group1/M00/00/00/rBUAAlzbpG-ADLFNAAN_1nDfKJs466.jpg
group1: 是我們在storage里面配置的組名
M00: 對應的是我們在storage.conf里面配置的store_path0
00/00 : 是文件目錄的打散處理
配置 Nginx -- FastDFS模塊 ( 加上這一步操作的原因是 80端口被nginx控制了,我們需要在nginx配置一下,讓他反向代理請求,把請求轉發的文件服務器 )
解壓
tar -xvf fastdfs-nginx-module_v1.16.tar.gz
進入配置目錄
cd /fastdfs-nginx-module/src
修改配置
vim config
執行下面命令(將配置中的/usr/local改為/usr):
:%s+/usr/local/+/usr/+g
將src目錄下的mod_fastdfs.conf復制到 /etc/fdfs目錄:當前全部的配置文件都在這里面,
fdfs運行也會讀取這里面的配置文件
sudo cp mod_fastdfs.conf /etc/fdfs/
編輯該文件
sudo vim /etc/fdfs/mod_fastdfs.conf
修改配置
connect_timeout=10 # 客戶端訪問文件連接超時時長(單位:秒)
tracker_server=192.168.56.101:22122 # tracker服務IP和端口
url_have_group_name=true # 訪問鏈接前綴加上組名
store_path0=/home/fdfschangwu/fdfs/storage # 文件存儲路徑
復制 FastDFS的和http請求相關的配置文件到/etc/fdfs
cd /home/fdfschangwu/fdfs/FastDFS/config/ # http相關的請求在這里面
cp http.conf mime.types /etc/fdfs/
---- 至此 Nginx模塊安裝完畢
nginx原來已經安裝過了,現在去做些修改
進入 nginx目錄
cd /home/ubuntu/nginx-1.10.0/
執行下面的命令 -- 添加一個新的模塊(fdfs的源碼包))
./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx
--add-module=/home/fdfschangwu/fdfs/fastdfs-nginx-module/src
重新編譯-- 不要安裝!!!
make
備份之前的nginx
mv /usr/bin/nginx /usr/bin/nginx-back
停止nginx
nginx -s stop
用剛剛編譯的nginx 替換原來的nginx
cp /home/ubuntu/nginx-1.10.0/objs/nginx /usr/bin/
修改nginx 的配置文件
在 nginx安裝目錄中 /opt/nginx/conf/nginx.conf
{
listen 80;
server_name 211.159.146.192;
# fdfs配置
location ~/group([0-9])/{
ngx_fastdfs_module; # 代理到fdfs的nginx模塊
}
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
啟動nginx
nginx
看到下面的響應證明,一切ok
ngx_http_fastdfs_set pid=1628