FastDFS 安装部署

安装相关工具 (以 CentOS为例)

# 安装编译环境
yum install -y gcc-c++ perl

libfastcommon (FastDFS使用的依赖库)

下载源码

# 使用 git clone 下载
git clone https://github.com/happyfish100/libfastcommon.git

# 或者使用 wget 等直接下载 zip 包,并解压
wget https://github.com/happyfish100/libfastcommon/archive/refs/heads/master.zip -O libfastcommon.zip
unzip libfastcommon.zip

编译安装

cd libfastcommon
# 编译并安装
./make.sh && ./make.sh install

FastDFS

下载源码

# 使用 git clone 下载
git clone https://github.com/happyfish100/fastdfs.git

# 或者使用 wget 等直接下载 zip 包,并解压
wget https://github.com/happyfish100/fastdfs/archive/refs/heads/master.zip -O fastdfs.zip
unzip fastdfs.zip

编译安装

cd fastdfs
# 编译并安装
./make.sh && ./make.sh install

配置 FastDFS 并启动相关进程

配置文件目录

# 切换到配置文件目录
cd /etc/fdfs/

配置 Tracker (FastDFS跟踪器)

修改 tracker.conf

# 配置文件是否不生效,false 为生效
disabled = false
# 提供服务的端口
port=22122
# Tracker 数据和日志目录地址(根目录必须存在,子目录会自动创建
base_path = /data01/fastdfs/tracker
# HTTP 服务端口
http.server_port = 8080

创建 tracker 基础数据目录,即base_path对应的目录

mkdir -p /data01/fastdfs

启动 Tracker
fdfs_trackerd /etc/fdfs/tracker.conf start

关闭 Tracker(如需要)
fdfs_trackerd /etc/fdfs/tracker.conf stop

多节点配置
在各节点按如上方法安装好之后,将配置文件/etc/fdfs/tracker.conf 拷贝到各节点启动即可

配置 Storage (FastDFS 存储)

修改 storage.conf

# 配置文件是否不生效,false 为生效
disabled=false 
# 组名,相同组名的节点互为备份,即存储的数据完全相同
group_name=group1
# storage server 服务端口
port=23000
# Storage 数据和日志目录地址(根目录必须存在,子目录会自动生成)
base_path=/data01/fastdfs/storage

# 存放文件时 storage server 支持多个路径。这里配置存放文件的基路径数目,通常只配一个目录。
store_path_count=2
# 如果不配置 store_path0,那它就和 base_path 对应的路径一样。数据与如上配置对应
store_path0 = /data01/fastdfs_data
store_path1 = /data02/fastdfs_data

# tracker_server 的列表 ,会主动连接 tracker_server
# 有多个 tracker server 时,每个 tracker server 写一行
tracker_server=10.0.0.1:22122
tracker_server=10.0.0.2:22122

# 访问端口
http.server_port=80

创建 storage 基础数据目录,即base_path对应的目录

mkdir -p /data01/fastdfs/storage
mkdir -p /data01/fastdfs_data
mkdir -p /data02/fastdfs_data

启动 storage
fdfs_storaged /etc/fdfs/storage.conf start

关闭 storage(如需要)
fdfs_storaged /etc/fdfs/storage.conf stop

多节点配置
在各节点按如上方法安装好之后,将配置文件/etc/fdfs/storage.conf 拷贝到各节点启动即可

配置 Client

修改 client.conf

# 根据自己地址指定一个即可
base_path = /data01/fastdfs/client
# tracker server地址
tracker_server = 10.0.0.1:22122

测试文件上传

# 上传 test_file.txt
fdfs_upload_file /etc/fdfs/client.conf test_file.txt

得到类似如下返回,即上传成功

group1/M00/00/00/CgADHF57AKaADvJdAAAHYyTJSr064.txt

安装配置 Nginx

安装 fastdfs-nginx-module 模块

# 使用 git clone 下载
git clone https://github.com/happyfish100/fastdfs-nginx-module.git

# 或者使用 wget 等直接下载 zip 包,并解压
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/refs/heads/master.zip -O fastdfs-nginx-module.zip
unzip fastdfs-nginx-module.zip

安装 Nginx,并添加 fastdfs-nginx-module 模块

进入 nginx 源码 目录

cd /path/of/nginx-src

进行配置检测并且添加模块,执行编译安装

# 修改路径为下载的 fastdfs-nginx-module 模块路径
./configure --add-module=/home/software/fastdfs-nginx-module-master/src

# 编译并安装
make && make install

配置 Nginx 并启动 Nginx

配置 FastDFS 与 Ngix 相关的配置

切换至fastdfs的源码路径

# 进行文件的复制
cp conf/http.conf /etc/fdfs/
cp conf/mime.types /etc/fdfs/

切换至fastdfs-nginx-module的源码路径

#进行配置文件的复制
cp src/mod_fastdfs.conf /etc/fdfs/

修改 /etc/fdfs/mod_fastdfs.conf

# 连接超时时间
connect_timeout=10

# Tracker Server
tracker_server=10.0.0.1:22122

# Storage Server 默认端口
storage_server_port=23000

# 修改为true 支持http 直接下载
url_have_group_name = true

# 与 /etc/fdfs/storege.conf 保持一致
store_path_count=2

# 与 /etc/fdfs/storege.conf 保持一致
store_path0 = /data01/fastdfs_data
store_path1 = /data02/fastdfs_data

配置 Nginx

修改 /usr/local/nginx/conf/nginx.conf

server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }
        # 增加这一行
        location ~/group([0-9])/M00 {
            ngx_fastdfs_module;
        }

注意:

listen 80 端口值是要与 /etc/fdfs/storage.conf` 中的 `http.server_port=80 相对应。如果改成其它端口,则需要统一,同时在防火墙中打开该端口。
location 的配置,如果有多个group则配置location ~/group([0-9])/M00 ,没有则不用配group。

测试下载

# localhost 后的地址需要与之前上传测试文件的返回值一致
wget http:://localhost/group1/M00/00/00/CgADHF57AKaADvJdAAAHYyTJSr064.txt

如果正常下载,则 FastDFS 配置完成

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇