1.安裝依賴
yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y
2.安裝libfastcommon
mkdir -p /home/lwc
cd /home/lwc
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
mv V1.0.7.tar.gz libfastcommon-1.0.7.tar.gz
tar zxvf libfastcommon-1.0.7.tar.gz
cd libfastcommon-1.0.7/
編譯:./make.sh
安裝: ./make.sh install
設置幾個軟連接, 方便後面nginx擴展
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
3. 安裝 tracker
回到上一目錄: cd ../
wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
mv V5.05.tar.gz FastDFS_v5.05.tar.gz
tar zxvf FastDFS_v5.05.tar.gz
cd fastdfs-5.05/
./make.sh
./make.sh install
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
創建一個存放目錄: mkdir -p /home/fastdfs
vim /etc/fdfs/tracker.conf
修改如下字段:
base_path=/home/fastdfs
http.server_port=80
啓動:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
重啓:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
檢查是否正常: ps -ef |grep tracker
4.storage(存儲節點)服務部署
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
創建目錄:mkdir -p /home/fastdfs/storage/images-data
vim /etc/fdfs/storage.conf
修改如下:
base_path=/home/fastdfs
store_path0=/home/fastdfs/storage/images-data
tracker_server=129.211.102.11:22122
注意: (129.211.102.11)是你的server服務器ip、本機也可以使用(0.0.0.0:22122)、記得不可使用127.0.0.1
http.server_port=80 //與後面nginx配置端口一樣
5. 測試服務
啓動 storage 服務:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf,首次啓動會很慢,因爲它在創建預設存儲文件的目錄
重啓 storage 服務:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
查看是否有 storage 進程:ps -ef | grep storage
fdfs_monitor /etc/fdfs/storage.conf
...
Storage 1:
id = 192.168.2.231
ip_addr = 192.168.2.231 ACTIVE --若看到ACTIVE這個字樣、代表可以正常通信
...
查看storage和tracker是否正常啓動:
ps -ef | grep fdfs
6. 使用fdfs_client測試
複製一份配置:cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
編輯:vim /etc/fdfs/client.conf
base_path= /home/fastdfs
tracker_server=129.211.102.11:22122
echo tttddddd > ./test.txt
測試:fdfs_test /etc/fdfs/client.conf upload ./test.txt
可以看到如下圖所示、就是上傳成功了
7. 安裝Nginx和其插件
wget http://nginx.org/download/nginx-1.11.8.tar.gz
wget http://jaist.dl.sourceforge.NET/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz
tar zxvf fastdfs-nginx-module_v1.16.tar.gz
cd fastdfs-nginx-module/
vim src/config
修改:去掉local、因爲實際安裝fastdfs時、是放到了/usr/include下
CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
CORE_LIBS="$CORE_LIBS -L/usr/local/lib -lfastcommon -lfdfsclient"
CORE_LIBS="$CORE_LIBS -L/usr/lib -lfastcommon -lfdfsclient"
cd ../
tar zxvf nginx-1.11.8.tar.gz
cd nginx-1.11.8/
sudo ./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/bin/nginx --conf-path=/usr/local/etc/nginx/nginx.conf --pid-path=/usr/local/var/run/nginx.pid --lock-path=/usr/local/var/run/nginx.lock --error-log-path=/usr/local/var/log/nginx/^Cror.log --http-log-path=/usr/local/var/log/nginx/access.log --with-http_gzip_static_module --with-http_stub_status_module --with-http_ssl_module --with-file-aio --add-module=/home/lwc/fastdfs-nginx-module/src
sudo make && sudo make install
8. 整合fastdfs-nginx-module和nginx 配置Nginx並測試
cp /home/lwc/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs
vim /etc/fdfs/mod_fastdfs.conf
修改如下:
base_path=/home/fastdfs
tracker_server=129.211.102.11:22122
url_have_group_name = true
store_path0=/home/fastdfs/storage/images-data
cp /home/lwc/fastdfs-5.05/conf/http.conf /etc/fdfs/
cp /home/lwc/fastdfs-5.05/conf/mime.types /etc/fdfs/
vim /etc/fdfs/http.conf
修改如下:
http.anti_steal.token_check_fail=/home/lwc/fastdfs-5.05/conf/anti-steal.jpg
vim /usr/local/etc/nginx/nginx.conf
修改如下:
......
server {
listen 80;
server_name localhost;
location ~/group[0-9]/ {
ngx_fastdfs_module;
}
#charset koi8-r;
#access_log logs/host.access.log main;
......
/usr/local/bin/nginx -t //測試配置文件
/usr/local/bin/nginx -c /usr/local/etc/nginx/nginx.conf
netstat -ntpl
//上傳圖片測試
fdfs_test /etc/fdfs/client.conf upload 2.jpg
查看端口情況
通過 瀏覽器查看