1. 程式人生 > >阿里雲伺服器搭建FTP圖片伺服器[圖文詳解]

阿里雲伺服器搭建FTP圖片伺服器[圖文詳解]

FastDFS是用c語言編寫的一款開源的分散式檔案系統。FastDFS為網際網路量身定製,充分考慮了冗餘備份、負載均衡、線性擴容等機制,並注重高可用、高效能等指標,使用FastDFS很容易搭建一套高效能的檔案伺服器叢集提供檔案上傳、下載等服務。

Tracker 用來負載均衡與排程   

Storage 儲存圖片  

1.1 檔案上傳流程

1.2 檔案下載流程

1.3 上傳檔案的檔名

客戶端上傳檔案後儲存伺服器將檔案ID返回給客戶端,此檔案ID用於以後訪問該檔案的索引資訊。

檔案索引資訊包括:組名,虛擬磁碟路徑,資料兩級目錄,檔名。

 n 組名:檔案上傳後所在的storage組名稱,在檔案上傳成功後有storage伺服器返回,需要客戶端自行儲存。

n 虛擬磁碟路徑:storage配置的虛擬路徑,與磁碟選項store_path*對應。如果配置了store_path0則是M00,如果配置了store_path1則是M01,以此類推。

n 資料兩級目錄:storage伺服器在每個虛擬磁碟路徑下建立的兩級目錄,用於儲存資料檔案。

檔名:與檔案上傳時不同。是由儲存伺服器根據特定資訊生成,檔名包含:源儲存伺服器IP地址、檔案建立時間戳、檔案大小、隨機數和檔案拓展名等資訊。

1.4 FastDFS搭建

可以使用一臺虛擬機器來模擬,只有一個Tracker、一個Storage服務。

配置nginx訪問圖片。

1需要的工具  

FastDFS_v5.05.tar.gz

fastdfs-nginx-module_v1.16.tar.gz

libfastcommon-1.0.7.tar.gz

2 安裝fastdfs之前先安裝libevent工具包  

如果沒有gcc環境,需要安裝gcc:

yum install gcc-c++

Fastdfs依賴libevent庫,需要安裝

yum -y install libevent

3 先安裝libfastcommon-1.0.7

a) 解壓縮

b) ./make.sh

c) ./make.sh install

進入usr下面

把lib64/libfastcommon.so  拷貝到lib下面

4 安裝tracker檔案

a) 解壓縮 FastDFS_v5.05.tar.gz

b) ./make.sh

c) ./make.sh install

會在usr/lib  生成一坨fdfs_*的檔案  

 d).把/root/FastDFS/conf配置檔案都要放在/etc/fdfs下面

cp * /etc/fdfs/

e). 配置/etc/fdfs/tracker.conf

需要修改上述路徑為自己配置的路徑 /home/fdfs/tracker

F) 啟動tracker

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart  (重啟)

5 安裝storage 服務

1)如果在不同的伺服器安裝,第四部1~4步需要重新執行

2)修改/etc/fdfs/storage.conf檔案

第一個地方:

第二個地方

第三個地方

3) 啟動storage服務

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf

6 測試服務  

a) 修改配置檔案/etc/fdfs/client.conf

建立 /home/fastdfs/client

測試

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/FastDFS/conf/anti-steal.jpg

會返回上述的一個圖片路徑   拷貝進瀏覽器發現不好使

7 搭建nginx提供的http服務  

可以使用官方提供的nginx外掛,要使用nginx外掛需要重新編譯  

1 解壓壓縮包fastdfs-nginx-module_v1.16.tar.gz

2 修改/root/fastdfs-nginx-module/src/config檔案 把其中的local去掉

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

4 將/usr/lib64/libfdfsclient.so 拷貝到/usr/lib   如果不拷貝則會報錯

5  make

6  make install

7  將/root/fastdfs-nginx-module/src/mod_fastdfs.conf 複製到/etc/fdfs下面  並編輯

8 nginx的配置

在nginx的配置檔案(conf裡面的 vim nginx.conf)中新增一個Server:

server {

        listen       80;

        server_name 39.106.51.32; ---對應我們的IP或者阿里雲的公網IP

        location /group1/M00/{

                #root /home/FastDFS/fdfs_storage/data;

                ngx_fastdfs_module;

        }

}

圖片伺服器的使用  

1 把FastDFS提供的jar包新增到工程中  

2 初始化全域性配置,載入一個配置檔案

3 建立一個TrackerClient物件

4 建立一個TrackerServer物件

5 宣告一個StorageServer物件

6 獲得StorageClient物件

7 直接呼叫StorageClient物件方法上傳檔案  

在專案中如何上傳檔案  

Service

@Override

public String updateFile(MultipartFile book_image)  {

try {

String fileName = book_image.getOriginalFilename();

System.out.println(fileName);

ClientGlobal.init("E:\\yulei  xiangmu\\ssm_book\\config\\client.conf");

// 3、建立一個TrackerClient物件。

TrackerClient trackerClient = new TrackerClient();

// 4、建立一個TrackerServer物件。

TrackerServer trackerServer = trackerClient.getConnection();

// 5、宣告一個StorageServer物件,null。

StorageServer storageServer = null;

// 6、獲得StorageClient物件。

StorageClient storageClient = new StorageClient(trackerServer, storageServer);

// 7、直接呼叫StorageClient物件方法上傳檔案即可。

String[] strings = storageClient.upload_file(book_image.getBytes(), "jpg", null);

String url = "";

for(String str : strings)

{

url += str + "/";

}

url = "http://192.168.11.132/" + url.substring(0,url.lastIndexOf("/"));

return url;

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return null;

}

Controller

@RequestMapping("/addBook1.action")

public String insert1(Book book,MultipartFile book_image) throws IllegalStateException, IOException{

PictureService pictureService = new PictureServiceImpl();

String url = pictureService.updateFile(book_image);

book.setBookpic(url);

bookService.insertBook(book);

return "redirect:findAll.action";

}

iptables -L;iptables -F;service iptables stop    關閉防火牆

相關推薦

阿里伺服器搭建FTP圖片伺服器[圖文]

FastDFS是用c語言編寫的一款開源的分散式檔案系統。FastDFS為網際網路量身定製,充分考慮了冗餘備份、負載均衡、線性擴容等機制,並注重高可用、高效能等指標,使用FastDFS很容易搭建一套高效能的檔案伺服器叢集提供檔案上傳、下載等服務。 Tracker

使用阿里搭建jrebel啟用伺服器

  今天教大家搭建熱部署神器jrebel的啟用伺服器.其實在本地的電腦上也可以搭建的,但是隻能對本機的有效,搭建過程與伺服器大同小異。   環境:centos7伺服器一臺。   首先,我我們來安裝一下docker: yum install docker   安裝完成後,啟動docker服務以及

Debian8下安裝ftp伺服器 Vsftpd伺服器配置 ftp圖片伺服器

先上圖 下面開始工作 現在網上的文件差不多大體都能做出來,但是主要是細節沒說,我就不知道他們怎麼成功的,還有幾乎所有文件都是一樣的,天下文章一大抄。版本過老,都是坑。 我的伺服器:Debian GNU/Linux 8 配置篇 說明:debian預設安裝是沒有開啟任何

阿里ECS搭建FTP出現的問題

出現這樣的問題,隨後在FileZilla中發現可以連線,在Flashfxp中發現無法連線,這時更改了Flashfxp的連線模式為主動連線,發現可以連線上,上網查閱資料發現有如下幾點: FTP基礎知識  FTP是File Transfer Protocol(檔案傳輸協議

關於阿里oss物件儲存含sts授權,java程式碼

  我在專案上需要使用一個阿里雲的oss來進行圖片的上傳。看過oss的介紹和api之後,先寫一個簡單的程式碼。 maven地址引入jar  <dependency>          

阿里伺服器搭建FTP技術總結

實現步驟: (1)開啟伺服器的21埠(FTP埠)以及所有TCP埠。因為客戶端和伺服器每次建立連線時,都會使用任意一個TCP埠作為臨時的socket。 (2)安裝vsftpd: sudo apt-get update sudo apt-get install vsftpd

阿里ECS伺服器搭建ftp伺服器FileZilla_Server

前言:配置時候要開啟伺服器安全規則相應的埠   解決了記得給我點個贊 1、從附件中下載伺服器  FileZilla_Server_cn-0_9_46.exe (1.67 MB, 下載次數: 5767) ,雙擊執行伺服器軟體安裝; 2、啟動伺服器,出現如下視窗,填寫引數如下,

阿里伺服器搭建Solr叢集[圖文]

Solr叢集 Solr叢集的架構 SolrCloud 需要用到solr+zookeeper 要完成的叢集結構 Zookeeper 1、叢集管理 主從的管理、負載均衡、高可用的管理。叢集的入口。Zookeeper必須是叢集才能保證高可用。Zoo

阿里CentOS搭建SVN伺服器及許可權管理

  linux(centos)下SVN伺服器如何搭建?說到SVN伺服器,想必大家都知道,可以是在LINUX下如何搭建SVN伺服器呢?那麼今天給大家分享一下linux(centos)搭建SVN伺服器的思路!    雖然在windows上搭建SVN很簡單,但是效能卻不高,

阿里搭建自己的git伺服器

這篇文章我就來介紹一下如何在一臺全裸的阿里雲主機上搭建自己的git伺服器。 1. 安裝git 首先安裝git,一般而言,現在的伺服器已經內建了git安裝包,我們只需要執行簡單的安裝命令即可安裝。比如: $ yum install git # centos $ apt-get install git #

阿里ECS搭建我的世界伺服器

阿里雲ECS搭建我的世界伺服器 目錄 購買阿里雲服務 上傳檔案到雲伺服器 安裝必要環境 搭建我的世界伺服器端 本地客戶端 1. 購買阿里雲服務 1.1 選擇系統 個人並不懂伺服器配置,但是在系統映象選擇時記得選擇ubuntu16.04 64位。 注 1:如果你年齡低於24週

如何使用阿里主機搭建Nginx+FastDFS檔案伺服器(超詳細)

關於Netty的話,後面再寫一個小案例,目前沒有時間,專案的內容不好上傳。多嘴了,下面開始今天的內容,由於目前專案要做搭建一個檔案伺服器,想想免費的也只有FastDFS了,於是開始搭建並記錄下來。 1、準備 本次系統使用CentOS7.3,在安裝前需要安裝nginx的一些依賴庫: gcc

伺服器搭建ftp

本文搭建環境為CentOS 7.2 64位騰訊雲伺服器,建議使用xshell代替網頁版shell,複製貼上方便。便於檢視歷史記錄。 安裝 VSFTPD 使用 yum 安裝 [vsftpd]: yum install vsftpd -y 啟動 VSFTPD 安裝

基於滴滴主機搭建 FTP 檔案共享伺服器(一)

FTP 簡單介紹 什麼是 FTP 伺服器? FTP 伺服器(File Transfer Protocol Server)是在網際網路上提供檔案共享儲存和訪問服務的計算機,它們依照 FTP 協議提供服務。 FTP(File Transfer Protocol: 檔案傳輸協議)是一種

阿里上建立FTP伺服器和使用者

簡介 FTP 是File Transfer Protocol(檔案傳輸協議)的英文簡稱,而中文簡稱為“文傳協議”。用於Internet上的控制檔案的雙向傳輸。同時,它也是一個應用程式(Application)。基於不同的作業系統有不同的FTP應用程式,而所有這些應用程式

阿里ECS搭建我的世界伺服器方法

系統版本centos7.4(x64),更新時間2018.10.29 下載並安裝JDK // 這裡將所需Url替換掉,去官網檢視,這裡以11.0.1版本為例 wget --no-check-certificate --no-cookies --header "Co

阿里伺服器Windows Server 2008 架設 Web 伺服器教程(圖文)

扣扣技術交流群:460189483  最近剛忙完嵌入式下位機LWIP的網路通訊,希望將嵌入式裝置接入雲端來進行控制,買了一個阿里雲Windows server 2008伺服器,來搭建雲伺服器,過程給大家分享一下互相學習,讓小白快速上手! 通過win+R開啟命令終端,輸入mstsc快

ftp 圖片伺服器搭建

1、首先搭建nginx伺服器         https://blog.csdn.net/july_young/article/details/85057913      ①   建立目錄 m

阿里ECS搭建SS伺服器的方法

2017.12.20更新:當時沒注意。。。忘了改題目就發上去了 這兩天搞了一個阿里雲ECS東京的結點,於是想著自己搭一個SS伺服器,搭建成功,總結下搭建過程和需要注意的地方。 1、 伺服器端 yum install python-setuptool

阿里搭建webRTC 伺服器——Licode

阿里雲上搭建webRTC 伺服器——Licode 系統配置 阿里雲伺服器 Ubuntu 14.04.5 LTS Docker 環境搭建 在一臺空的機器上搭建docker環境,先要安裝docker,執行下面的命令即可: apt-get update apt-get install docker.io