圖片服務器的搭建

圖片服務器的搭建

配置到虛擬機上,一個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

  • 2.安裝FastDFS以前,先安裝libevent工具包:
    yum -y install libevent
  • 3.安裝libfastcommonV1.0.7 工具包。
    安裝編譯環境:
    yum -y groupinstall 'Development Tools'web

  • 4.解壓縮:[root@localhost ~]# tar -zxvf libfastcommonV1.0.7.tar.gz數組

  • 5 ./make.sh
  • 6 ./make.sh install
  • 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 文件。測試

  • 9 將base_path=..改爲本身的路徑:
    base_path 日誌路徑, 建立目錄 /home/fastdfs/tracker:
    [root@localhost home]# mkdir -p fastdfs/tracker
  • 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 目錄下建立兩層目錄

  • 上傳圖片進行測試:經過java Client API
  • 1,將 fastdfs_client 工程導入到 Eclipse 中,並經過 install 添加到本地倉庫
  • 2, 將座標(GAV)添加到 shop-manager-common 工程中, 由於圖片上傳是個通用的功能
  • 3,這是所須要的依賴代碼:

    fastdfs_client
    fastdfs_client
    1.25

  • 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);
}
}
}
  • 4.shop-manager-web 模 塊 中 的 resources 目 錄 下 定 義 conf\client.conf , 內 容 爲tracker_server 的服務器地址。
    tracker_server=192.168.1.158:22122
  • 5,運行結果:
    group1
    M00/00/00/圖片名稱.jpg

  • 6,訪問:
    http://192.168.1.158/group1/M00/00/00/wKgBnln18niABXj-AADZa5WaCng833.jpg
    發現沒法訪問,由於沒有提供 http 服務,那麼咱們能夠經過 nginx 來搭建 http 服務。

  • 7,搭建nginx提供http服務:
    可使用官方提供的 nginx 插件。要使用 nginx 插件須要從新編譯。
    fastdfs-nginx-module_v1.16.tar.gz
  • 7.1 ,解壓插件壓縮包
    [root@localhost ~]# tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
  • 7.2,修改/root/fastdfs-nginx-module/src/config 文件,把其中的 local 去掉。
  • 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

  • 7.4, make
  • 7.5, make install
  • 7.6, 把/root/fastdfs-nginx-module/src/mod_fastdfs.conf 文件複製到/etc/fdfs 目錄下。
    [root@localhost nginx]# cp /root/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs
    編輯:
    日誌存放路徑,可使用默認也能夠本身更改
    修改實際 tracker 服務的 ip:端口
    將 URL 是否包含組名修改成 true,默認是 false:
    url_have_group_name=true
    修改圖片保存的路徑: store_path0=/home/fastdfs/storage
  • nginx 的配置:

在 nginx 的配置文件中添加一個 Server:
server {
listen 80;
server_name 192.168.1.158;
location /group1/M00/{

  • root /home/FastDFS/fdfs_storage/data;

  • 插件的名稱

    ngx_fastdfs_module; } }
相關文章
相關標籤/搜索