1. 程式人生 > >Linux系統:centos7下搭建Nginx和FastDFS檔案管理中介軟體

Linux系統:centos7下搭建Nginx和FastDFS檔案管理中介軟體

一、FastDFS簡介

1、基礎概念

FastDFS是一個開源的輕量級分散式檔案系統,它對檔案進行管理,功能包括:檔案儲存、檔案同步、檔案上傳、檔案下載等,解決了大容量儲存和負載均衡的問題。

2、環境概覽

1、預設存在Gcc編譯環境,Centos7虛擬機器
2、安裝LibFastCommon環境
3、FastDFS中介軟體安裝
4、Nginx代理伺服器安裝

二、安裝LibFastCommon

核心流程

下載->解壓->編譯->安裝

## 下載
[root@localhost mysoft]# wget
https://github.com/happyfish100/libfastcommon/archive/V1.0.38.tar.gz
## 解壓
[root@localhost mysoft]# tar -zxvf V1.0.38.tar.gz
[root@localhost mysoft]# cd libfastcommon-1.0.38/
## 編譯
[root@localhost libfastcommon-1.0.38]# ./make.sh
## 安裝
[root@localhost libfastcommon-1.0.38]# ./make.sh install

三、安裝FastDFS

流程:下載->解壓->編譯->安裝->建立相關路徑->配置跟蹤器-> 配置資料儲存->配置客戶端->Nginx環境配置

1、基礎安裝步驟

## 下載
[root@localhost mysoft]# wget
https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz
## 解壓
[root@localhost mysoft]# tar -zxvf V5.11.tar.gz 
## 編譯
[root@localhost mysoft]# cd fastdfs-5.11/
[root@localhost fastdfs-5.11]# ./make.sh 
## 安裝
[root@localhost fastdfs-5.11]# ./make.sh install

2、建立相關路徑

用處後續說明。

[root@localhost data]# mkdir -p /data/fastdfs/log
[root@localhost data]# mkdir -p /data/fastdfs/data
[root@localhost data]# mkdir -p /data/fastdfs/tracker
[root@localhost data]# mkdir -p /data/fastdfs/client

3、配置跟蹤器

Tracker -- >> 跟蹤器

1)檢視配置檔案

注意這裡目錄的轉換,這裡給的是樣例,具體的配置還要自己動手。

[root@localhost fastdfs-5.11]# cd /etc/fdfs/
[root@localhost fdfs]# ll
total 24
client.conf.sample
storage.conf.sample
storage_ids.conf.sample
tracker.conf.sample

2)配置tracker.conf檔案

[root@localhost fdfs]# cp tracker.conf.sample tracker.conf
[root@localhost fdfs]# vim tracker.conf
## 關注如下幾個配置
## 儲存資料和日誌檔案的基本路徑
base_path=/data/fastdfs/tracker
## Http服務埠
http.server_port=80
## 預設提供服務埠
port=22122

3)啟動跟蹤器

## 啟動
[root@localhost fdfs]# /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
## 檢視狀態
[root@localhost fdfs]# netstat -apn|grep fdfs

4、配置資料儲存

1)檢視配置檔案

[root@localhost fastdfs-5.11]# cd /etc/fdfs/
[root@localhost fdfs]# ll
storage.conf.sample

2)配置storage.conf檔案

[root@localhost fdfs]# cp storage.conf.sample storage.conf
[root@localhost fdfs]# vim storage.conf
## 關注如下幾個配置
## storage儲存data和log的跟路徑
base_path=/data/fastdfs/data
## 預設組名
group_name=group1
## 預設埠,相同組的storage埠號必須一致
port=23000
## 配置一個儲存路徑
store_path_count=1
store_path0=/data/fastdfs/data
## 配置跟蹤器IP和埠
tracker_server=192.168.72.130:22122

3)啟動儲存服務

## 啟動
[root@localhost fdfs]# /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
## 檢視程序
[root@localhost fdfs]# netstat -apn|grep fdfs
tcp 0:22122  LISTEN      4845/fdfs_trackerd  
tcp 0:45422  SYN_SENT    5410/fdfs_storaged
## 檢視啟動日誌
[root@localhost fdfs]# tail -f /data/fastdfs/data/logs/storaged.log
## 日誌展示:單臺FastDFS安裝成功
set tracker leader: 192.168.72.130:22122
## 檢視Storage和Tracker是否在通訊
[root@localhost fdfs]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
Storage 1:
	id = 192.168.72.130
	ip_addr = 192.168.72.130 (localhost.localdomain)  ACTIVE

5、配置客戶端測試

1)檢視配置檔案

[root@localhost /]# cd /etc/fdfs
[root@localhost fdfs]# ll
total 40
client.conf.sample

2)配置client.conf檔案

[root@localhost fdfs]# cp client.conf.sample client.conf
[root@localhost fdfs]# vim client.conf
## 關注如下幾個配置
## client資料和日誌目錄
base_path=/data/fastdfs/client
## 配置跟蹤器IP和埠
tracker_server=192.168.72.130:22122

3)客戶端測試

呼叫客戶端檔案上傳命令

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf

返回檔案上傳的相對路徑和編號

group1/M00/00/00/wKhIgl0mmE-ATEXPAAQ2pIoAy98392.jpg

[root@localhost fdfs]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /data/img/img1.jpg 
group1/M00/00/00/wKhIgl0mmE-ATEXPAAQ2pIoAy98392.jpg

這樣FastDFS單臺環境就安裝好了,步驟有點繁雜,不過這就是生活。

檔案成功上傳storage伺服器,但是還無法檢視下載。需要安裝Nginx伺服器用來支援Http方式訪問檔案。

四、安裝Nginx

1、下載解壓Nginx

## 下載nginx
[root@localhost mysoft]# wget 
http://nginx.org/download/nginx-1.15.2.tar.gz
## 解壓nginx
[root@localhost mysoft]# tar -zxvf nginx-1.15.2.tar.gz

2、下載解壓Fast-Nginx

## 下載fastdfs-nginx
[root@localhost mysoft]#wget 
https://github.com/happyfish100/fastdfs-nginx-module/archive/5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip
## 解壓fastdfs-nginx
[root@localhost mysoft]# mv 5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip fast-nginx.zip
[root@localhost mysoft]# unzip fast-nginx.zip
[root@localhost mysoft]# mv fastdfs-nginx-module-5e5f3566bbfa57418b5506aaefbe107a42c9fcb1/ 
fastdfs-nginx-module

3、安裝必須依賴

## pcre-devel 環境
[root@localhost nginx-1.15.2]# yum install -y pcre pcre-devel
## zlib-devel 環境
[root@localhost nginx-1.15.2]# yum install -y zlib zlib-devel
## openssl-devel 環境
[root@localhost nginx-1.15.2]# yum install -y openssl openssl-devel

4、配置安裝

[root@localhost nginx-1.15.2]# ./configure --add-module=/usr/local/mysoft/fastdfs-nginx-module/src
[root@localhost nginx-1.15.2]# make && make install

5、錯誤解決

版本問題導致,Fast-Nginx必須使用這個修復版本。

https://github.com/happyfish100/fastdfs-nginx-module/archive/5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip

make[1]: *** [objs/addon/src/ngx_http_fastdfs_module.o] Error 1
make[1]: Leaving directory `/usr/local/mysoft/nginx-1.15.2'
make: *** [build] Error 2

6、檢視安裝結果

如下情況則表示安裝成功了。

[root@localhost nginx-1.15.2]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.15.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
configure arguments: --add-module=/usr/local/mysoft/fastdfs-nginx-module/src

五、測試圖片訪問

1、配置客戶端

## 移動配置檔案
[root@localhost src]# pwd
/usr/local/mysoft/fastdfs-nginx-module/src
[root@localhost src]# ll
total 76
Apr 14  2017 mod_fastdfs.conf
[root@localhost src]# cp mod_fastdfs.conf /etc/fdfs/
[root@localhost fdfs]# pwd
/etc/fdfs
[root@localhost fdfs]# vim mod_fastdfs.conf 
## 調整如下配置
## 連結超時
connect_timeout=20
## 配置跟蹤器IP和埠
tracker_server=192.168.72.130:22122
## 路徑包含group
url_have_group_name = true
# 必須和storage配置相同
store_path0=/data/fastdfs/data

2、完善FastDFS配置

[root@localhost fdfs]# cd /usr/local/mysoft/fastdfs-5.11/conf/
[root@localhost conf]# cp anti-steal.jpg http.conf mime.types /etc/fdfs/

3、配置Nginx

在Nginx的80服務埠下新增如下配置。注意這裡的路徑是Nginx安裝自動生成的路徑。

[root@localhost nginx]# cd /usr/local/nginx/conf/
[root@localhost conf]# vim nginx.conf
server {
    listen       80;
    
    location ~/group([0-9])/M00 {
        root /data/fastdfs/data;
        ngx_fastdfs_module;
    }
}

檢視配置結果

[root@localhost conf]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.15.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
configure arguments: --add-module=/usr/local/mysoft/fastdfs-nginx-module/src

這樣就配置成功了。

4、見證結束的時候

啟動Nginx服務。

## 啟動
/usr/local/nginx/sbin/nginx
## 停止
/usr/local/nginx/sbin/nginx -s stop
## 重啟
/usr/local/nginx/sbin/nginx -s reload

5、訪問上傳圖片

喵喵的,居然成功了,下篇文章見。

http://192.168.72.130
/group1/M00/00/00/wKhIgl0mmE-ATEXPAAQ2pIoAy98392.jpg

六、原始碼地址

GitHub·地址
https://github.com/cicadasmile/linux-system-base
GitEE·地址
https://gitee.com/cicadasmile/linux-system-base

相關推薦

Linux系統centos7搭建NginxFastDFS檔案管理中介軟體

一、FastDFS簡介 1、基礎概念 FastDFS是一個開源的輕量級分散式檔案系統,它對檔案進行管理,功能包括:檔案儲存、檔案同步、檔案上傳、檔案下載等,解決了大容量儲存和負載均衡的問題。 2、環境概覽 1、預設存在Gcc編譯環境,Centos7虛擬機器 2、安裝LibFastCommon環境 3、Fas

Linux 系統 CentOS7.X版本安裝MySQL5.7資料庫

設定rpm下載目錄在/opt目錄下新建一個目錄存放mysql cd /opt sudo mkdir mysql12 下載MySQL的源 如果在這之前沒有提示-bash: wget: command not found,那麼還得先安裝wget sudo yum

開發人員學Linux(5)CentOS7編譯安裝Nginx搭建Tomcat負載均衡環境

1.前言在上一篇講述了JMeter的使用,在本篇就可以應用得上了。本篇將講述如何編譯安裝Nginx並利用前面的介紹搭建一個負載均衡測試環境。2.軟體準備Nginx-1.12.0,下載地址:https://nginx.org/download/nginx-1.12.0.tar.

開發人員學Linux(3)CentOS7中安裝JDK8Tomcat8

java tomcat jdk service centos 題外話:直到今天開始寫本系列的第三篇時本人才想好為這個系列取一個名字,本系列不是為Linux運維人員準備的,而是主要為開發人員準備的,包括但不限於:希望了解Linux的開發人員;需要在Linux上部署一些組件的開發人員,如Mem

centos7安裝nginx設定開機啟動

首先安裝一些必須的庫 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 安裝 PCRE w

開發人員學Linux(12)CentOS7安裝配置MemcachedRedis

1.前言上一篇講述了持續整合工具Jenkins的使用,本篇講述現在比較流行的兩個NoSQL資料庫Memcached和Redis的安裝和使用。Memcached 是一個高效能的分散式記憶體物件快取系統,用於動態Web應用以減輕資料庫負載。它通過在記憶體中快取資料和物件來減少讀取

Linux系統安裝rz/sz實現本地伺服器檔案上傳下載

一:說明     通過SecureCRT等SSH登入軟體連線伺服器,可以通過rz和sz命令上傳下載檔案,就不需要通過xftp進行檔案操作了. sz 檔名: 將選定的檔案傳送(send)到本地

Linux系統Centos7版本搭建postfix服務器及其相關配置應用

服務器 .html 監聽端口 生成 工作目錄 new works close 網址 實驗報告 一、 實驗名稱:郵件服務器的搭建和相關使用功能的配置二、 實驗環境與要求:Linux系統 centos7版本搭建郵件服務器實現發信收信基本功能實現發信認證功能搭建好LAMP環境

linux系統centOS7搭建redis叢集中ruby版本過低問題的解決方法

問題描述:                      在Centos7中,通過yum安裝ruby的版本是2.0.0,但是如果有些應用需要高版本的ruby環境,比如2.2,2.3,2.4...      那就有點麻煩了,譬如:我準備使用redis官方給的工具:redis-tri

阿里雲ECS例項 CentOS7 搭建LNMP(Linux+Nginx+Mariadb+PHP)教程

一:安裝Nginx 1.下載對應當前系統版本的nginx包(package) wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 2

[伺服器] linux(Centos7)nginx+tomcat+java+mysql環境搭建

系統環境搭建 centos7下載與安裝(Mini版) 下載地址:http://mirrors.163.com/centos/7/isos/x86_64/ 網易的源,國內嘛,快些.像我選得就是最小化版本的,即CentOS-7-x86_64-Min

一、CentOS7搭建FastDFS+Nginx實現靜態圖片服務器

文件 源碼 wsgi ide 管理 配置 ror centos7 tor 在集群環境下,圖片存放在本地存在諸多限制,一般采用單獨的圖片服務器進行管理。FastDFS就是這樣一個圖片管理服務器。 環境需求,CentOS7下 一.先下載三件套,並上傳到服務器中(Nginx自行下

開發人員學Linux(13)CentOS7安裝配置IT設備監控系統Zabbix

zabbix linux centos cacti nagios 1.前言在前一篇講述了如何安裝Memcached和Redis,在這一篇主要講述如何安裝企業級IT設備監控系統Zabbix。本人曾在某大型集團公司信息化部門工作,公司在多個城市以及一個城市的多個區有辦公區,在那裏不僅會開發軟件

linux搭建禪道項目管理系統

-h bsp .gz ice use tar -xvf 搭建 .sql service 1.禪道下載: #官網:http://www.zentao.net/article-browse-1067.html [root@localhost ~

制作busybox完成自制Linux系統及遠程登錄nginx安裝測試

sockets 總結 足夠 comm 設備驅動 ... loading ade 一個用戶 前言系統定制在前面的博文中我們就有談到過了,不過那個裁減制作有簡單了點,只是能讓系統跑起來而,沒有太多的功能,也沒的用戶登錄入口,而這裏我們將詳細和深入的來談談Linux系統的詳細定制

LINUX系統服務器上搭建DHCP服務,實現兩大基本功能1,自動分配ip;2,手工指定ip

完成 重啟 釋放 p地址 進行 基本功 blog process 自動 在linux系統服務器上搭建DHCP服務,實現兩大基本功能:1,自動分配ip地址;2,手動指定ip地址。首先準備兩臺虛擬機作為實驗對象,一個linux系統作為服務器,一個windows7系統作為客戶機,

Mysql系列三Centos6安裝MysqlMysql主從復制的搭建

sso libc mage 進行 我們 服務器 後繼 lis list 一、Centos6下安裝Mysql 檢測下系統有沒有自帶的mysql:yum list installed | grep mysql, 如果已經有的話執行命令yum -y remove mysql-li

Centos7搭建Django+uWSGI+nginx基於python3

def .tar.gz nts sse soc pycha make 啟動 share 1.電腦環境 Centos7 + python3.6 + virtualenv 由於centos自帶的是python2.7版本,所以要自己安裝新的版本,這裏就不對此描述了,直接開工

Linux搭建nginx+php7

//系統 # cat /etc/redhat-release CentOS release 6.9 (Final) # uname -r 2.6.32-696.el6.x86_64 //關閉SELinux,機器需要重啟 # sed -i 's/SELINUX=enforcing/SEL

centos7安裝Nginx(yum方式原始碼方式)

一、yum安裝 1.預設情況Centos7中無Nginx的源,最近發現Nginx官網提供了Centos的源地址。因此可以如下執行命令新增源 rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-c