本地FastDFS圖片服務器搭建

項目比較老舊,本身修改了一下,跑在mac上,用的IDEA和centos7 64位系統,記錄下來,之後上傳圖片均可以用。java

使用場景:圖片上傳

若是咱們把圖片全都放在上傳到webapp路徑下顯然是一種很是low的行爲,當項目逐漸增大,可能會佈置到多個tomcat上,這時對於圖片這種資源的處理最好就是集中存放在一塊兒,便於存儲和訪問。linux

FastDFS

FastDFS是一個開源的輕量級分佈式文件系統,功能包括:文件存儲、文件同步、文件訪問(文件上傳、文件下載)等。
FastDFS主要的有兩個角色:tracker和storage。詳細的就不在介紹了,網上有不少資料,咱們就來佈置一個最簡單的一個tracker和一個storage的dfs。nginx

工具

mac系統c++

  • helm是一個能夠修改mac hosts文件的工具
  • virtualbox centos7 虛擬機
  • FileZilla 是mac上的一個ftp服務器,能夠方便的操做虛擬機,對於linux指令不是很熟悉的同窗可使用,但不要依賴,指令纔是王道

安裝好虛擬機 大約就是這個樣子

圖片描述

先別啓動,點設置看一下網絡鏈接,應該是這個樣子的,而後在開啓虛擬機
圖片描述web

爲了方便,可使用root的帳號密碼,這樣能夠方便不少。vim


輸入ip addr 查看IP地址,若是是安裝的最小版的cent,應該是沒有ifconf這些指令的,可使用yum install net-tools 前提是你的電腦能上網
圖片描述centos

能夠發現是沒有ipv4的地址的,沒有地址外網就沒法訪問。可是這時是能夠下載東西的,咱們先如今一些必要的依賴包瀏覽器

yum install vim(我的習慣,能夠不裝)
yum -y install libevent
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
yum install zip unzip

最後咱們要訪問服務器 首先要經過防火牆,最簡單的方法直接關閉防火牆,暴露全部接口,固然也能夠選擇暴露你要用的接口,這裏咱們選擇最簡單的,直接關閉,先查看一下是否是開啓了。
firewall-cmd --state #查看默認防火牆狀態
systemctl stop firewalld.service #中止firewall
systemctl disable firewalld.service #禁止firewall開機啓動
最後在查看一下狀態是否肯定關閉了,簡單暴力,固然僅限於懶人開發,真實環境確定不能這麼作

準備穩當以後關閉虛擬機,打開設置->網絡
圖片描述tomcat

修改成橋接網卡在開機,輸入ip addr
圖片描述服務器

噠噠,IP地址出來了,沒有ip地址的虛擬機就像沒有夢想的U盤!

安裝程序

這時咱們安裝Filezilla這個軟件
圖片描述

像這樣一頓操做之後,就能夠看到虛擬機下的文件路徑了,這裏咱們須要FastDFS和nginx的壓縮包
nginx-1.8能夠自行下載,我提供了fastdfs所須要的包,這些不太好找。點這裏密碼uc1p
所有放在/usr/local/路徑下面。

安裝libfastcommonV1.0.7工具包

  1. 解壓縮
  2. ./make.sh
  3. ./make.sh install

安裝Tracker

  1. 解壓縮FastDFS_V5.05
  2. ./make.sh
  3. ./make.sh install

這時在你解壓縮的路徑下會有一個fastdfs-5.05的文件夾
cd /fastdfs-5.05/conf,拷貝這裏的全部配置文件
cp * /etc/fdfs,去查看一下
圖片描述

cd /etc/fdfs
vi tracker.conf

這時咱們修改一下配置文件
圖片描述

回到以前的解壓目錄下,將tracker.conf作一樣的修改

cd /usr/local/fastdfs-5.05/conf
vi tracker.conf

啓動tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
能夠經過 ps aux|grep tracker 查看進程是否啓動

配置Storage

cd /usr/local/fastdfs-5.05/conf
vi storage.conf

圖片描述
圖片描述
圖片描述

到/etc/fdfs下,將storage.conf文件作一樣的修改

cd /etc/fdfs
vi storage.conf

啓動storage服務
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
測試

vi /etc/fdfs/client.conf

圖片描述

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

若是成功,這時會將會看到一串url地址,這就是圖片在服務器上的存放地址,就表示成功啦
圖片描述
既然是一串url,咱們就須要一個nginx爲咱們解析請求

安裝Nginx

解壓fastdfs-nginx-module_v1.16.tar.gz
解壓nginx-1.8

vi fastdfs-nginx-module/src/config 把其中的local去掉

clipboard.png

cd /nginx-1.8.0


*./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=/usr/local/fastdfs-nginx-module/src* 這裏就是剛剛你配置的路徑



make

make install

將fastdfs-nginx-module/src/mod_fastdfs.conf文件複製到/etc/fdfs目錄下,並修改

clipboard.png
圖片描述
clipboard.png
圖片描述

去nginx中新建一個server

cd /usr/local/nginx/conf
vi nginx.conf

添加以下代碼並保存
server {
    listen : 80
    servername : 本身的ip
    localtion /group1/M00{
        ngx_fastdfs_module;
    }
}

cd /usr/local/nginx/sbin
./nginx

啓動服務器就好啦

測試

打開本機的瀏覽器,輸入虛擬機的IP地址
圖片描述

若是看到Nginx的歡迎頁說明就配置成功啦今天太晚了,明天寫一寫在java端maven配置和具體的上傳操做代碼還有一些後續的小trick

相關文章
相關標籤/搜索