福利视频在线观-福利视频在线观看-福利所导航-福利所第一导航8-福利天堂老司机-福利天堂老司机av-福利图一区二区-福利网91-福利网站导航-福利网站在线观看污

當前位置: 首頁 > 產品大全 > Linux CentOS 7 下搭建外網可訪問的 FastDFS 結合 Nginx 圖片/文件服務器

Linux CentOS 7 下搭建外網可訪問的 FastDFS 結合 Nginx 圖片/文件服務器

Linux CentOS 7 下搭建外網可訪問的 FastDFS 結合 Nginx 圖片/文件服務器

本文將詳細介紹在 CentOS 7 操作系統上,如何搭建一個基于 FastDFS 分布式文件存儲系統,并整合 Nginx 模塊以實現高性能、高可用的外網圖片及文件服務器。該方案適用于需要存儲和快速訪問大量靜態資源(如圖片、文檔、視頻片段)的 Web 應用或移動應用后端服務。

一、環境準備與基礎軟件安裝

  1. 系統與網絡要求
  • 一臺或多臺運行 CentOS 7 的服務器(最低配置1核2G,生產環境建議更高)。
  • 所有服務器間網絡互通,并確保防火墻(firewalld)或安全組規則開放后續所需的端口(如 22122, 23000, 80, 8888 等)。
  • 擁有 root 或 sudo 權限。
  • 建議配置靜態 IP 或可解析的主機名。

2. 安裝基礎依賴
`bash
yum install -y gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim git
`

  1. 下載必要組件
  • FastDFS:核心存儲系統。
  • libfastcommon:FastDFS 依賴的公共函數庫。
  • fastdfs-nginx-module:使 Nginx 能夠直接訪問 FastDFS 存儲文件的擴展模塊。

* Nginx:高性能 Web 服務器,用于提供 HTTP 訪問和負載均衡。
`bash
cd /usr/local/src
wget https://github.com/happyfish100/libfastcommon/archive/master.zip -O libfastcommon.zip
wget https://github.com/happyfish100/fastdfs/archive/master.zip -O fastdfs.zip
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/master.zip -O fastdfs-nginx-module.zip
wget http://nginx.org/download/nginx-1.20.1.tar.gz
unzip libfastcommon.zip
unzip fastdfs.zip
unzip fastdfs-nginx-module.zip
tar -zxvf nginx-1.20.1.tar.gz
`

二、安裝與配置 FastDFS

1. 安裝 libfastcommon
`bash
cd /usr/local/src/libfastcommon-master
./make.sh && ./make.sh install
`

2. 安裝 FastDFS
`bash
cd /usr/local/src/fastdfs-master
./make.sh && ./make.sh install
# 安裝后,配置文件在 /etc/fdfs/,可執行文件在 /usr/bin/,默認數據存儲路徑在 /home/yuqing/fastdfs/

`

3. 配置 Tracker Server(跟蹤服務器,建議至少一臺)
`bash
cd /etc/fdfs
cp tracker.conf.sample tracker.conf
vim tracker.conf
`
主要修改項:
`ini
basepath=/data/fastdfs/tracker # Tracker 數據和日志存放路徑
bind
addr=0.0.0.0 # 允許所有 IP 連接,或指定服務器內網 IP
port=22122 # Tracker 服務端口(需開放)
http.serverport=8080 # 可選,Tracker 內置的 HTTP 服務端口
`
創建目錄并啟動服務:
`bash
mkdir -p /data/fastdfs/tracker
/usr/bin/fdfs
trackerd /etc/fdfs/tracker.conf start
# 設置開機自啟

echo "/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start" >> /etc/rc.local
chmod +x /etc/rc.d/rc.local
`

4. 配置 Storage Server(存儲服務器,建議至少兩臺)
`bash
cd /etc/fdfs
cp storage.conf.sample storage.conf
vim storage.conf
`
主要修改項:
`ini
groupname=group1 # 組名,多臺 Storage 可同組
base
path=/data/fastdfs/storage # Storage 數據和日志存放路徑
storepath0=/data/fastdfs/storage/files # 實際文件存儲路徑,可配置多個
tracker
server=:22122 # 指向 Tracker,可配置多個
bindaddr=0.0.0.0 # 或指定服務器內網 IP
port=23000 # Storage 服務端口(需開放)
http.server
port=8888 # Storage 內置 HTTP 服務端口(通常由 Nginx 替代)
`
創建目錄并啟動服務:
`bash
mkdir -p /data/fastdfs/storage /data/fastdfs/storage/files
/usr/bin/fdfsstoraged /etc/fdfs/storage.conf start
echo "/usr/bin/fdfs
storaged /etc/fdfs/storage.conf start" >> /etc/rc.local
`
在 Tracker 服務器上檢查 Storage 是否注冊成功:
`bash
/usr/bin/fdfs_monitor /etc/fdfs/client.conf
`

三、安裝與配置 Nginx 整合 FastDFS

1. 編譯安裝帶 fastdfs-nginx-module 的 Nginx
`bash
cd /usr/local/src/nginx-1.20.1
./configure --prefix=/usr/local/nginx \

--add-module=/usr/local/src/fastdfs-nginx-module-master/src \

--with-httpsslmodule \

--with-httpstubstatus_module
make && make install
`

2. 配置 fastdfs-nginx-module
`bash
cp /usr/local/src/fastdfs-nginx-module-master/src/modfastdfs.conf /etc/fdfs/
vim /etc/fdfs/mod
fastdfs.conf
`
主要修改項:
`ini
trackerserver=:22122
url
havegroupname=true # URL 中是否包含組名
storepath0=/data/fastdfs/storage/files # 與 storage.conf 中的一致
group
name=group1 # 組名
`

3. 配置 Nginx 以支持文件訪問
在 Storage 服務器上,編輯 Nginx 配置文件:
`bash
vim /usr/local/nginx/conf/nginx.conf
`
http { 塊內添加一個 server 配置:
`nginx
server {
listen 80; # 或指定其他端口,需確保外網可訪問
servername yourdomain.com或服務器公網IP; # 你的域名或公網IP

location ~ /group[0-9]/ { # 匹配 FastDFS 文件路徑
ngxfastdfsmodule; # 調用 fastdfs-nginx-module
}

可選:配置一個簡單的狀態頁或健康檢查

location /status {
stubstatus on;
access
log off;
allow 127.0.0.1;
deny all;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
`

4. 啟動 Nginx 服務
`bash
/usr/local/nginx/sbin/nginx
# 設置開機自啟(可創建 systemd 服務文件)

echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local
`

四、測試與使用

1. 客戶端測試上傳
在任意一臺服務器上配置客戶端并測試:
`bash
cd /etc/fdfs
cp client.conf.sample client.conf
vim client.conf
# 修改 basepath 和 trackerserver

測試上傳:
bash echo "This is a test file." > test.txt /usr/bin/fdfsuploadfile /etc/fdfs/client.conf test.txt # 返回類似:group1/M00/00/00/wKgKZF9rT2aANzRsAAAADvC6VUc.txt `

2. 通過外網 HTTP 訪問文件
使用上一步返回的文件 ID,構造 URL 通過瀏覽器或 curl 訪問:
`
http://your_domain.com或服務器公網IP/group1/M00/00/00/wKgKZF9rT2aANzRsAAAADvC6VUc.txt
`
如果配置了域名,應確保域名 DNS 解析到 Storage 服務器的公網 IP,并且服務器防火墻/安全組開放了 80 端口。

五、進階配置與優化建議

  1. 高可用與負載均衡
  • Tracker 集群:部署多個 Tracker,并在 storage.confclient.conf 中配置所有 tracker_server
  • Storage 集群與分組:部署多個 Storage 服務器到同一組(group)實現冗余,或配置不同組(如 group1, group2)進行容量擴展。
  • Nginx 負載均衡:在 Storage 服務器前再部署一層 Nginx 作為負載均衡器,將請求分發到多個 Storage 的 Nginx 服務上。
  1. 安全性
  • 使用防火墻限制除必要端口(80, 22122, 23000)外的所有訪問。
  • 考慮為 Nginx 配置 SSL/TLS(HTTPS)以加密傳輸。
  • 可以在 Nginx 層面配置訪問令牌、Referer 防盜鏈等。
  1. 性能與存儲
  • store_path0 指向高性能存儲介質(如 SSD)。
  • 調整 Linux 內核參數(如文件描述符數量、網絡參數)。
  • 根據訪問模式,合理配置 Nginx 緩存。

六、應用軟件服務集成

在您的應用程序(如 Java Spring Boot、Python Django、PHP 等)中集成 FastDFS 客戶端:

  1. 引入客戶端 SDK:根據編程語言選擇官方或社區維護的 FastDFS 客戶端庫。
  2. 配置客戶端:在應用配置文件中指定 Tracker 服務器地址列表。
  3. 文件操作
  • 上傳:調用客戶端 API 上傳文件,獲得文件 ID(如 group1/M00/00/00/xxx.jpg)。
  • 存儲:將文件 ID 存入您的業務數據庫。
  • 訪問/下載:通過拼接 http://你的Nginx域名或IP/ + 文件ID 生成完整的可訪問 URL,前端直接使用此 URL 展示圖片或提供下載鏈接。
  • 刪除:通過客戶端 API 根據文件 ID 刪除文件(注意權限控制)。

通過以上步驟,您就成功搭建了一個外網可訪問、具備基本高可用能力的 FastDFS + Nginx 圖片/文件服務器,并可以將其集成到您的應用軟件服務中,高效管理海量靜態資源。


如若轉載,請注明出處:http://m.ishowsky.cn/product/69.html

更新時間:2026-08-12 13:37:58

主站蜘蛛池模板: 国产亚洲欧美后入 | 中文国产AV | 新视觉影院 | 粉嫩馒头一线天p | 先锋影音AV | 综合欧美亚洲 | 欧美色图熟女乱伦 | 成人AB区| 免费肏屄网址 | 丁香婷婷六月 | 亚洲三级黄色 | 求网址av| 淫秽乱伦视频 | 国产免费福利 | 91欧美在线观看 | 在线观看色A| 国产高清对白 | 欧美午夜| 午夜深夜福利 | 原创国产在线 | 加勒比激情乱伦 | 高清国产在线看片 | 成人精品A片免费 | 国产免费在线视频 | 老湿机免费试看 | 手机看片你懂得 | 国产女同精品99 | 成人无码毛片国产 | 宅男视频污下载 | 狠狠撸第四色 | 欧美99家庭乱伦 | 高清手机在线观看 | 国产最新视频 | 欧美性影院 | 五月天久久婷婷 | 欧美视频在线电影 | 第一福利视频 | 青青草在线看 | 四虎直播在线观看 | 中文字幕日韩欧美 | 四虎自拍视频 |