配置到虛擬機上,一個Tracker,一個Storage服務,配置nginx訪問圖片。java
1.把fastDFS的所需壓縮包上傳到linux系統中,linux
FastDFS_v5.05.tar.gz
fastdfs-nginx-module_v1.16.tar.gz
libfastcommonV1.0.7.tar.gznginx
3.安裝libfastcommonV1.0.7 工具包。
安裝編譯環境:
yum -y groupinstall 'Development Tools'web
4.解壓縮:[root@localhost ~]# tar -zxvf libfastcommonV1.0.7.tar.gz數組
7 把/usr/lib64/libfastcommon.so 文件向/usr/lib/下複製一份:
[root@localhost lib64]# cp libfastcommon.so ../lib服務器
8 安裝Tracker服務工具
一、 解壓縮 [root@localhost ~]# tar -zxvf FastDFS_v5.05.tar.gz
二、 [root@localhost libfastcommon-1.0.7]#./make.sh
三、 [root@localhost libfastcommon-1.0.7]#./make.sh install
安裝後在/usr/bin/目錄下有以 fdfs 開頭的文件都是編譯出來的。
配置文件都放到/etc/fdfs 文件夾
四、 把/root/FastDFS/conf 目錄下的全部的配置文件都複製到/etc/fdfs 下。
[root@localhost conf]# cp * /etc/fdfs
五、 配置 tracker 服務。修改/etc/fdfs/tracker.conf 文件。測試
10 啓動 tracker。 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
重啓使用命令: /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restarturl
11 安裝storage服務:spa
一、 若是是在不一樣的服務器安裝,第四步的 1~4 須要從新執行。
二、 配置 storage 服務。修改/etc/fdfs/storage.conf 文件
[root@localhost fdfs]# vi storage.conf
建立 storage 服務日誌路徑: /home/fastdfs/storage
三、修改 storage 服務日誌路徑爲: /home/fastdfs/storage
四、修改圖片保存路徑爲: /home/fastdfs/storage
五、修改 trancker 服務器的 ip 及端口
12 ,啓動 storage 服務。
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
會在/home/fastdfs/storage/data 目錄下建立兩層目錄
3,這是所須要的依賴代碼:
3.在 shop-manager-web 工程中,定義測試方法
1) 加載配置文件,配置文件中的內容就是 tracker 服務的地址。
2) 配置文件內容: tracker_server=192.168.1.158:22122
3) 建立一個 TrackerClient 對象。直接 new 一個。
4) 使用 TrackerClient 對象建立鏈接,得到一個 TrackerServer 對象。
5) 建立一個 StorageServer 的引用,值爲 null
6) 建立一個 StorageClient 對象,須要兩個參數 TrackerServer 對象、 StorageServer 的引用
7) 使用 StorageClient 對象上傳圖片。
8) 返回數組。包含組名和圖片的路徑。
public class FastDfsTest { @Test public void testUpload() throws Exception { //建立一個配置文件。文件名任意。內容就是tracker服務器的地址。 //使用全局對象加載配置文件。 ClientGlobal.init("E:\\Users\\admin\\workspace\\shop-manager-web\ \src\\main\\resources\\conf\\client.conf"); //建立一個TrackerClient對象 TrackerClient trackerClient = new TrackerClient(); //經過TrackClient得到一個TrackerServer對象 TrackerServer trackerServer = trackerClient.getConnection(); //建立一個StrorageServer的引用,能夠是null StorageServer storageServer = null; //建立一個StorageClient,參數須要TrackerServer和StrorageServer StorageClient storageClient = new StorageClient(trackerServer, storageServer); //使用StorageClient上傳文件。 // 第一個參數:文件路徑 第二個參數:文件擴展名(不包含.) 第三個 參數:元數據 String[] strings = storageClient.upload_file("C:\\Users\\admin\\Desktop\\timg.jpg", "jpg", null); for (String string : strings) { System.out.println(string); } } }
5,運行結果:
group1
M00/00/00/圖片名稱.jpg
6,訪問:
http://192.168.1.158/group1/M00/00/00/wKgBnln18niABXj-AADZa5WaCng833.jpg
發現沒法訪問,由於沒有提供 http 服務,那麼咱們能夠經過 nginx 來搭建 http 服務。
7.3,對nginx從新config
./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=/root/fastdfs-nginx-module/src
nginx 的配置:
在 nginx 的配置文件中添加一個 Server:
server {
listen 80;
server_name 192.168.1.158;
location /group1/M00/{