FastDFS 集群搭建指南

准备环境

  • 文件准备

nginx-1.14.0.tar.gz
FastDFS_v5.08.tar.gz
fastdfs-nginx-module_v1.16.tar.gz
libfastcommon-master.zip

  • 服务器

tracker服务器:192.168.1.85/86
storage服务器:192.168.1.72/73/74/75


安装依赖包(全部服务器)

  • 在安装FastDFS和Nginx之前,需确保gcc、gcc-c++、 libstdc++-devel、make等依赖库和工具已经安装

 

yum -y install gcc gcc-c++ libstdc++-devel pcre-devel zlib-devel wget make
yum -y groupinstall 'Development Tools' 

安装libfastcommon类库(全部服务器)

 

unzip libfastcommon-master.zip -d /usr/local/
cd /usr/local/
cd libfastcommon-master/
./make.sh 
./make.sh install

安装Fastdfs(全部服务器)

 

tar -xvzf FastDFS_v5.08.tar.gz -C /usr/local/
cd /usr/local/FastDFS/
./make.sh 
./make.sh install

FastDFS安装完成之后,所有配置文件在/etc/fdfs目录下,tracker需要tracker.conf配置文件,storage需要storage.conf配置文件。


安装 tracker(服务器 85/86)

  • 将tracker.conf.sample文件重命名为tracker.conf,然后修改配置文件/etc/fdfs/tracker.conf

 

# 存储日志和数据的根目录
mkdir /root/fastdfs

cd /etc/fdfs
cp tracker.conf.sample tracker.conf
  • 修改配置文件

 

vi tracker.conf

#启用配置文件
disabled=false
#设置tracker的端口号
port=22122
#设置tracker的数据文件和日志目录(需手动创建)
base_path=/root/fastdfs
#设置http端口号
http.server_port=8080
  • 启动 tracker

 

# 启动
fdfs_trackerd /etc/fdfs/tracker.conf restart
  • 判断是否启动成功

 

[root@localhost ~]# netstat -unltp | grep fdfs
tcp        0      0 0.0.0.0:22122               0.0.0.0:*                   LISTEN      6078/fdfs_trackerd 

安装 storage (服务器 72/73/74/75)

  • 创建存储目录和配置文件

 

mkdir /root/fastdfs

cd /etc/fdfs
cp storage.conf.sample storage.conf
  • 修改配置

 

vi /etc/fdfs/storage.conf
# 内容
group_name=group1                   # 组名(第一组为group1,第二组为group2,依次类推...)
base_path=/root/fastdfs             # 数据和日志文件存储根目录
store_path0=/root/fastdfs           #第一个存储目录,第二个存储目录起名为:store_path1=xxx,其它存储目录名依次类推...
store_path_count=1                  # 存储路径个数,需要和store_path个数匹配
tracker_server=192.168.1.85:22122          # tracker服务器IP和端口
tracker_server=192.168.1.86:22122          # tracker服务器IP和端口
  • 启动Storage

 

[root@localhost fdfs]# fdfs_storaged /etc/fdfs/storage.conf restart
[root@localhost fdfs]# netstat -unltp | grep fdfs
tcp        0      0 0.0.0.0:23000               0.0.0.0:*                   LISTEN      5551/fdfs_storaged 
  • 验证storage是否登记到tracker服务器

 

# 可以在任一存储节点上使用如下命令查看集群的状态信息
fdfs_monitor /etc/fdfs/storage.conf

在storage上安装nginx

安装

  • 解压

 

tar -xvzf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local
tar -xvzf nginx-1.14.0.tar.gz -C /usr/local
  • 配置软链接

 

ln -sv /usr/include/fastcommon /usr/local/include/fastcommon 
ln -sv /usr/include/fastdfs /usr/local/include/fastdfs 
ln -sv /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
  • 添加 fastdfs-nginx-module-master模块

 

cd /usr/local/nginx-1.14.0/
./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module/src
  • 安装

 

make
make install
  • 安装成功,查看版本信息

 

/usr/local/nginx/sbin/nginx -V

配置

配置fastdfs-nginx-module

  • 进入fastdfs-nginx-module的src目录,将md_fastdfs.conf配置文件拷贝到/etc/fdfs/目录中

 

cd /usr/local/fastdfs-nginx-module/src
cp mod_fastdfs.conf /etc/fdfs/
  • 配置 mod_fastdfs.conf

 

vim /etc/fdfs/mod_fastdfs.conf

# 改动参数
base_path=/root/fastdfs           #保存日志目录
tracker_server=192.168.1.85:22122
tracker_server=192.168.1.86:22122 
storage_server_port=23000         #storage服务器的端口号
group_name=group1                 #当前服务器的group名
url_have_group_name = true        #文件url中是否有group名
store_path_count=1                #存储路径个数,需要和store_path个数匹配
store_path0=/root/fastdfs         #存储路径
group_count = 2                   #设置组的个数

# 在末尾增加组的具体信息
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/root/fastdfs

[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/root/fastdfs
  • 建立M00至存储目录的符号连接

 

ln -s /root/fastdfs/data /root/fastdfs/data/M00
ll /root/fastdfs/data/M00

配置nginx

  • 编辑/usr/local/nginx/conf配置文件目录下的nginx.conf,设置添加storage信息并保存。

 

vim /usr/local/nginx/conf/nginx.conf

# 修改
user root;
listen       8080;

# 在server段中添加
location ~/group[1-2]/M00 {
    root /root/fastdfs/data;
    ngx_fastdfs_module;
}
  • 复制fastdfs中的http.conf、mime.types文件到/etc/fdfs

 

cp /usr/local/FastDFS/conf/http.conf /usr/local/FastDFS/conf/mime.types  /etc/fdfs

运行

 

[root@localhost ~]# /usr/local/nginx/sbin/nginx
ngx_http_fastdfs_set pid=12768
[root@localhost ~]# netstat -unltp | grep nginx
tcp        0      0 0.0.0.0:8080                0.0.0.0:*                   LISTEN      12769/nginx  

 

# 重启 nginx
/usr/local/nginx/sbin/nginx -s reload

在tracker上安装nginx

  • 在tracker上安装的nginx主要为了提供http访问的反向代理、负载均衡以及缓存服务

安装

  • 解压

 

tar -xvzf nginx-1.14.0.tar.gz -C /usr/local
  • 运行./configure进行安装前的设置,主要设置安装路径

 

cd /usr/local/nginx-1.14.0/
./configure --prefix=/usr/local/nginx
  • 安装

 

make
make install

配置

  • 编辑/usr/local/nginx/conf配置文件目录下的nginx.conf,设置负载均衡

 

vim /usr/local/nginx/conf/nginx.conf

# 配置信息
worker_processes  4;                  #根据CPU核心数而定
events {
    worker_connections  65535;        #最大链接数
    use epoll;                        #新版本的Linux可使用epoll加快处理性能
}
http {
    #设置group1的服务器
    upstream fdfs_group1 {
        server 192.168.1.72:8080 weight=1 max_fails=2 fail_timeout=30s;
        server 192.168.1.73:8080 weight=1 max_fails=2 fail_timeout=30s;
    }
    #设置group2的服务器
    upstream fdfs_group2 {
        server 192.168.1.74:8080 weight=1 max_fails=2 fail_timeout=30s;
        server 192.168.1.75:8080 weight=1 max_fails=2 fail_timeout=30s;
    }

   server {
       #设置服务器端口
        listen       8080;
       #设置group1的负载均衡参数
        location /group1/M00 {
            proxy_pass http://fdfs_group1;
        }
        #设置group2的负载均衡参数
        location /group2/M00 {
            proxy_pass http://fdfs_group2;
        }
    }

}

运行

  • 启动nginx,确认启动是否成功
[root@localhost ~]# /usr/local/nginx/sbin/nginx
ngx_http_fastdfs_set pid=12768
[root@localhost ~]# netstat -unltp | grep nginx
tcp        0      0 0.0.0.0:8080                0.0.0.0:*                   LISTEN      12769/nginx  

上传文件测试

配置client.conf文件

cp client.conf.sample  client.conf
vim /etc/fdfs/client.conf

# 修改以下参数
base_path=/root/fastdfs                   #日志存放路径
tracker_server=192.168.1.85:22122         
tracker_server=192.168.1.86:22122 
http.tracker_server_port=8080

上传文件测试

[root@localhost fdfs]# fdfs_upload_file /etc/fdfs/client.conf /root/test.jpg
group2/M00/00/00/wKg26VncfamAEqZ0AAu-4Kcs3QI677.jpg
  • 使用浏览器访问
http://192.168.1.85:8080/group2/M00/00/00/wKg26VncfamAEqZ0AAu-4Kcs3QI677.jpg

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值