基于分布式文件系统的fastdfs-负载均衡篇(三)
程序员文章站
2022-06-21 18:57:08
...
接基于分布式文件系统的fastdfs-配置篇(二),本篇主要讲解fastdfs的负载均衡
安装Nginx,提供http的下载(119,129,139,149)
说明:因为fastdfs 的http服务太弱,无法提供负载均衡等服务,所以需要借助nginx来进行http访问的负载
1、解压nginx-fastdfs模块
cd /rot/pkg
tar -xf fastdfs-nginx-module-1.20.tar.gz -C /usr/local/
2、为避免nginx在添加fasfdfs模块后编译报错,修改 fastdfs-nginx配置文件
cat /usr/local/fastdfs-nginx-module-1.20/src/config
ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
3、解压nginx并安装
tar -xf nginx-1.14.2.tar.gz && cd nginx-1.14.2
./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module-1.20/src
make && make install
4、复制FastDFS目录下的文件
cp -p /root/pkg/fastdfs-5.11/conf/http.conf /etc/fdfs/
cp -p /root/pkg/fastdfs-5.11/conf/mime.types /etc/fdfs/
cp -p /root/pkg/fastdfs-5.11/conf/anti-steal.jpg /etc/fdfs/ #可以不做此操作
5、复制mod_fastdfds.conf,并编辑
cp -p /usr/local/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs/
vim /etc/fdfs/mod_fastdfs.conf
base_path=/u01/fastdfs/fastdfs_storage/logs #存储日志目录
tracker_server=192.168.171.119:22122 #tracker1的ip
tracker_server=192.168.171.129:22122 #tracker2的ip
storage_server_port=23000 #storage的端口号
group_name=group1 #当前storage服务器的组名,119和129为group1;139和149为group2
url_have_group_name = true #url是否包含group名称
store_path_count=1 #存储路径个数,需要和store_path个数匹配
store_path0=/u01/fastdfs/fastdfs_storage #文件存储的位置,与storage 一致
group_count = 2 #0代表单组,非零代表多组,一般设置几就为几组
[group1] #group1代表119和129
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/u01/fastdfs/fastdfs_storage
[group2] #group2代表139和149
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/u01/fastdfs/fastdfs_storage
6、mod节点配置
119服务器配置
129服务器配置
139服务器配置
149服务器配置
7、配置nginx
1)备份nginx的配置文件
cd /usr/local/nginx/conf && cp -p nginx.conf nginx.conf.bak
2)备份nginx启动脚本,并建立启动nginx的软连接
cd /usr/local/nginx/sbin/ && cp -p nginx nginx.old
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
3)配置nginx(119和129)
cd /usr/local/nginx/conf
vim nginx.conf
server {
listen 8080;
server_name localhost;
location ~/group[1-2]/M00 {
root /u01/fastdfs/fastdfs_storage/data/;
ngx_fastdfs_module;
}
......
......
......
}
4)配置nginx(139和149)
cd /usr/local/nginx/conf
vim nginx.conf
server {
listen 8080;
server_name localhost;
location ~/group2 {
root /u01/fastdfs/fastdfs_storage/data/;
ngx_fastdfs_module;
}
......
......
......
}
5)启动nginx(先启动storage上的nginx,后启动tracker上的nginx),查看启动日志
nginx 或 /usr/local/nginx/sbin/nginx
tailf error.log
6)上传文件,并浏览器访问
http://192.168.171.119:8080/group1/M00/00/00/wKirgV1uNuGAQ1JeAAAAB3ToE4Q335.txt
http://192.168.171.119:8080/group2/M00/00/00/wKirlV1uNvaAMq7RAAAAB7_qQxM008.txt
因为tracker有两个,所以在192.168.171.119和192.168.171.129访问的效果是一样的;同理上传到group2中的文件,在192.168.171.139和192.168.171.149上也可以访问到
http://192.168.171.139:8080/group2/M00/00/00/wKirlV1uNvaAMq7RAAAAB7_qQxM008.txt
http://192.168.171.149:8080/group2/M00/00/00/wKirlV1uNvaAMq7RAAAAB7_qQxM008.txt
但是在192.168.171.139和192.168.171.149无法访问到group1中的文件
7)文件下载
wget http://192.168.171.139:8080/group2/M00/00/00/wKirlV1uNvaAMq7RAAAAB7_qQxM008.txt
上一篇: shell脚本之if语句的使用