一、FastDFS集群搭建规划
FastDFS-tracker-group-01-131 192.168.44.131
FastDFS-tracker-group-02-132 192.168.44.132
FastDFS-storage-group1-01-135 192.168.44.135
FastDFS-storage-group1-02-136 192.168.44.136
FastDFS-storage-group2-01-137 192.168.44.137
FastDFS-storage-group2-02-138 192.168.44.138
二、公共依赖安装(6台主机同时执行)
1、上传源码包
#创建文件夹/opt/module(模块安装路径) /opt/software(源码包路径)
mkdir -p /opt/module /opt/software
#上传源码包到/opt/software下
#切换目录并查看
cd /opt/software && ll
2、安装依赖包
#编译依赖包
yum install -y make cmake gcc gcc-c++
#nginx需要的依赖
yum instll -y pcre pcre-devel zlib zlib-devel
#其它
yum install -y unzip zip telnet vim
#整合命令
yum install -y make cmake gcc gcc-c++ pcre pcre-devel zlib zlib-devel unzip zip telnet vim
3、安装libfastcommon
1):解压libfastcommon-master.zip到/opt/module下
#进入/opt/software目录
cd /opt/software
#解压到指定位置
unzip libfastcommon-master.zip -d /opt/module/
#切换目录并查看
cd /opt/module && ll
2):编译安装
#进入libfastcommon-master目录
cd libfastcommon-master/
#编译
./make.sh
#安装
./make.sh install
- 注意安装的路径:libfastcommon默认安装到了/usr/lib64/这个位置。
3):建立软链接
- FastDFS主程序设置的目录为/usr/local/lib/,所以我们需要创建/usr/lib64/下的一些核心执行程序的软连接文件
#创建目录
mkdir -p /usr/local/lib/
#创建软链接
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
4、安装FastDFS 5.05
1): 解压FastDFS_v5.05.tar.gz到/opt/module下
#切换目录
cd /opt/software/
#解压到/opt/module
tar -zxvf FastDFS_v5.05.tar.gz -C /opt/module/
#切换/opt/module目录
cd /opt/module && ll
2):编译安装
#进入FastDFS目录
cd FastDFS/
#编译
./make.sh
#安装
./make.sh install
#整合命令
cd FastDFS/ && ./make.sh && ./make.sh install
3):修改FastDFS配置文件中的路径
#编辑fdfs_storaged
vim /etc/init.d/fdfs_storaged
#进行全局替换命令
%s+/usr/local/bin+/usr/bin
#编辑fdfs_trackerd
vim /etc/init.d/fdfs_trackerd
进行全局替换命令
%s+/usr/local/bin+/usr/bin
三、跟踪器组配置(192.168.44.131 192.168.44.132 两个节点同时执行)
1、拷贝 /etc/fdfs下tracker.conf.samp 为tracker.conf
#创建存储目录
mkdir -p /opt/module/FastDFS/repo/tracker
#拷贝 /etc/fdfs下tracker.conf.samp 为tracker.conf
cd /etc/fdfs/
cp tracker.conf.sample tracker.conf
2、编辑tracker.conf
#编辑
vim /etc/fdfs/tracker.conf
#修改内容
store_lookup=0
base_path=/opt/module/FastDFS/repo/tracker
3、启动跟踪器
#查看自己创建的目录
cd /opt/module/FastDFS/repo/tracker/ && ll
#启停tracker
/etc/init.d/fdfs_trackerd start
/etc/init.d/fdfs_trackerd stop
#查看日志
tail -100 /opt/module/FastDFS/repo/tracker/logs/trackerd.log
#查看进程
ps -ef | grep fdfs
四、配置存储storage(192.168.44.135 192.168.44.136 192.168.44.137 192.168.44.138 四个存储节点同时执行)
1、拷贝/etc/fdfs下storage.conf.sample 为storage.conf
#创建存储目录
mkdir -p /opt/module/FastDFS/repo/storage
#拷贝
cd /etc/fdfs/
cp storage.conf.sample storage.conf
2、编辑storage.conf
- 存储分组描述: 同一组的配置相同 、(135 136为同组group1)、(137 138为同组group2)
#修改storage.conf文件
vim /etc/fdfs/storage.conf
#修改内容:
#(135 136为group1)、(137 138为group2)
group_name=group1
base_path=/opt/module/FastDFS/repo/storage
store_path_count=1
store_path0=/opt/module/FastDFS/repo/storage
#多个tracker直接添加多条配置
tracker_server=192.168.44.131:22122
tracker_server=192.168.44.132:22122
http.server_port=8888
3、启动storage(192.168.44.131 192.168.44.132 tracker必须先启动)
#查看存储节点
cd /opt/module/FastDFS/repo/storage/ && ll
#启停storage
/etc/init.d/fdfs_storaged start
/etc/init.d/fdfs_storaged stop
#查看日志
tail -f /opt/module/FastDFS/repo/storage/logs/storaged.log
#查看进程
ps -ef | grep fdfs
4、任意存储节点可查看当前集群信息
#查询相关命令
cd /usr/bin/ && ll | grep fdfs
#查看集群信息
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
五、测试文件上传(192.168.44.131)
1、拷贝/etc/fdfs/下client.conf.sample为client.conf
#拷贝
cd /etc/fdfs/
cp client.conf.sample client.conf
2、编辑client.conf
#编辑client.conf文件
vim /etc/fdfs/client.conf
修改内容:
base_path=/opt/module/FastDFS/repo/tracker
tracker_server=192.168.44.131:22122
tracker_server=192.168.44.132:22122
3、测试上传
#查看相关命令工具
cd /usr/bin/ && ls | grep fdfs
#上传命令
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/software/libfastcommon-master.zip
#查看存储目录
cd /opt/module/FastDFS/repo/storage/data/00/00 && ls
- 若文件上传至group1组下(135 136)节点会自动备份、若文件上传至group2组下(137 138)节点数据会自动备份。
- 其他:若135节点发生宕机、在恢复后会自动拉取同步136节点的文件
六、配置fastdfs-nginx-module
1、安装fastdfs-nginx-module
#切换目录
cd /opt/software/ && ll
#解压到指定目录
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /opt/module/
#查看解压后的信息
cd /opt/module && ll
2、编译安装
#切换目录
cd /opt/module/fastdfs-nginx-module/src/
#编辑
vim /opt/module/fastdfs-nginx-module/src/config
#修改内容
CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
修改为
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/local/fastcommon/"
七、配置Nginx
1、解压nginx-1.6.2.tar.gz到/opt/module下
#查看源码包并解压
cd /opt/software/
tar -zxvf nginx-1.6.2.tar.gz -C /opt/module/
#切换目录
cd /opt/module/nginx-1.6.2/
#加入模块
./configure --add-module=/opt/module/fastdfs-nginx-module/src/
#重新编译安装
make && make install
2、复制/opt/module/fastdfs-nginx-module/src/下mod_fastdfs.conf文件到/etc/fdfs下并修改
#拷贝文件
cp /opt/module/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
#编辑
vim /etc/fdfs/mod_fastdfs.conf
#修改内容
connect_timeout=10
#(135 136同组为group1)、(137 138同组为group2)
group_name=group1
tracker_server=192.168.44.131:22122
tracker_server=192.168.44.132:22122
url_have_group_name = true
store_path0=/opt/module/FastDFS/repo/storage
group_count = 2
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/opt/module/FastDFS/repo/storage
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/opt/module/FastDFS/repo/storage
3、拷贝FastDFS配置文件
cp /opt/module/FastDFS/conf/http.conf /etc/fdfs/
cp /opt/module/FastDFS/conf/mime.types /etc/fdfs/
4、创建软链接
#在/opt/module/FastDFS/repo/storage文件存储目录下创建软连接,将其链接到实际存放数据的目录。
ln -s /opt/module/FastDFS/repo/storage/data/ /opt/module/FastDFS/repo/storage/data/M00
5、修改Nginx配置文件
#切换目录
cd /usr/local/nginx/conf/ && ll
vim nginx.conf
- 修改内容
- 修改为
listen 8888;
server_name localhost;
location ~/group([0-9])/M00 {
ngx_fastdfs_module;
}
6、启动nginx服务
#启动
/usr/local/nginx/sbin/nginx
#查看进程
ps -ef|grep nginx
7、效果展示
#理论
135 136同组可访问
137 138同组可访问