FastDFS集群的搭建

我的集群信息

ip作用
192.168.150.128tracker
192.168.150.129storage1
192.168.150.130storage2

下载 libfastcommon.tar.gz 、fastdfs.tar.gz 和 nginx-1.6.2.tar.gz

cd software
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.39.tar.gz -SO libfastcommon.tar.gz
wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz -SO fastdfs.tar.gz
wget http://nginx.org/download/nginx-1.6.2.tar.gz

解压 libfastcommon.tar.gz

sudo tar -zxvf libfastcommon.tar.gz -C /usr/local/fast
cd /usr/local/fast/libfastcommon-1.0.39/
sudo ./make.sh
sudo ./make.sh install

解压 fastdfs.tar.gz

cd /usr/local/software
sudo tar -zxvf fastdfs.tar.gz  -C /usr/local/fast/
cd /usr/local/fast/fastdfs-5.11/
sudo ./make.sh
sudo ./make.sh install

2、配置tracker

现在开始操作 tracker 机(192.168.150.128)
进入 /etc/fdfs 目录,将 tracker.conf.sample 复制一份并重命名为 tracker.conf

cd /etc/fdfs/
sudo cp tracker.conf.sample tracker.conf

更改 tracker.conf 的配置

sudo vi /etc/fdfs/tracker.conf

目前只需要更改下面这一处的路径,作为存储数据和日志的路径,修改为自己的路径,路径要存在

bash_path=/home/tracker1/tracker

上面这个路径一定要存在,不存在的话不要忘了创建

mkdir /home/tracker1/tracker
/etc/init.d/fdfs_trackerd start

如果有其他 tracker 机也要进行同样的配置
启动 tracker

/etc/init.d/fdfs_trackerd start

上边命令没有起来

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

查看进程

ps -ef | grep fdfs

或者下面这个(需要 sudo 权限)

sudo netstat -tunpl | grep fdfs

停止 tracker

/etc/init.d/fdfs_trackerd stop

3、配置storage

我这里只有一组,这一组的两个机器配置相同,如果有多个组的话同一组的配置也应当是相同的,我这里以一台机器为例
进入目录,复制一份 storage.conf.sample 并重命名为 storage.conf

cd /etc/fdfs
sudo cp storage.conf.sample storage.conf

更改 storage.conf

sudo vi storage.conf

有下面几个地方需要注意
启用配置文件 ( disabled=false )

disabled=false 

组名,第一组为 group1,第二组为 group2

group_name=group1

storage 的端口,同一组的端口要相同

port=23000

存 storage 的日志的路径,需要存在

store_path0=/home/storage1/storage

存储路径个数, 和 store_path 的个数要匹配

store_path_count=1

tracker 的 ip 和端口

tracker_server=192.168.150.128:22122

http的端口

http.server_port=8888

上面存数据的路径没有的话记得创建

mkdir /home/storage1/storage

启动 storage(启动前 tracker 要先启动)

/etc/init.d/fdfs_storaged start

停止 storage

/etc/init.d/fdfs_storaged stop

查看集群的结构信息

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

4、传一个文件测试一下

在 tracker 上,有多个的话就使用任意一个
首先复制一份 client.conf.sample 并重命名为 client.conf

cd /etc/fdfs/
sudo cp client.conf.sample client.conf

更改 client.conf

sudo vi client.conf

要修改的内容如下在这里插入图片描述
base_path 路径要存在,tracker_server 填写 tracker 机的 ip,端口号不用变,如果有多台 tracker 就在后面加

上传文件

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/fastdfs.tar.gz 

 storage 上有了这个文件,同一个组的 storage 中的文件时会保持一致
,我这里只有一组

ll /home/storage1/storage/data/00/00

在storage上安装nginx

注意:fastdfs-nginx-module模块只需要安装到storage上

tar -xvzf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local
tar -zvxf nginx-1.7.9.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
cd /usr/local/nginx-1.7.9
./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module/src

configure 成功输出结果:

checking for OS
 + Linux 2.6.32-431.el6.x86_64 x86_64
checking for C compiler ... found
 + using GNU C compiler
 + gcc version: 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) 
checking for gcc -pipe switch ... found

......

nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp" 

configure成功了

接下来执行make和make install

make

确定编译没有出错,再进行install

make install 

配置

配置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=/home/storage1/storage         #保存日志目录
tracker_server=192.168.150.128: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                   #设置组的个数

在末尾增加3个组的具体信息:

group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/home/storage1/storage

建立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

将server段中的listen端口号改为8888,启动用户使用root。

user root
listen       8888;

在server段中添加:

location ~/group[1-2]/M00 {
    root /root/fastdfs/data;
    ngx_fastdfs_module;
}

复制fastdfs中的http.conf、mime.types文件到/etc/fdfs

cp /usr/local/fastdfs-5.05/conf/http.conf /usr/local/fastdfs-5.05/conf/mime.types  /etc/fdfs

启动nginx,确认启动是否成功

cd /usr/local/nginx/sbin/nginx

./nginx

将nginx设置为开机启动:

vim /etc/rc.d/rc.local

将运行命令行添加进文件:/usr/local/nginx/sbin/nginx

至此,nginx以及FastDFS插件模块设置完成。

在tracker上安装nginx

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

解压

tar -zvxf nginx-1.7.9.tar.gz  -C /usr/local

运行./configure进行安装前的设置,主要设置安装路径

cd /usr/local/nginx-1.7.9
./configure --prefix=/usr/local/nginx

运行make进行编译,确保编译成功。

make

运行make install进行安装。

make install

配置

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

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

配置信息

http {
    #设置group1的服务器
    upstream fdfs_group1 {
        server 192.168.150.129:8888 weight=1 max_fails=2 fail_timeout=30s;
        server 192.168.150.130:8888 weight=1 max_fails=2 fail_timeout=30s;
    }


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

启动nginx,确认启动是否成功。

cd /usr/local/nginx/sbin/nginx

./nginx

至此,nginx设置完成。

尝试上传一个文件到FastDFS

/usr/bin/fdfs_upload_file  /etc/fdfs/client.conf /home/1.jpg

group1/M00/00/00/wKgAA2M1T_SAO5BiAAdYDLz1B6c490.jpg

然后使用浏览器访问:

192.168.150.128:8888/group1/M00/00/00/wKgAA2M1T_SAO5BiAAdYDLz1B6c490.jpg

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值