设为首页 收藏本站
查看: 1391|回复: 0

[经验分享] centos fastdfs 多服务器 多硬盘 多组 配置详解

[复制链接]

尚未签到

发表于 2017-6-1 13:38:23 | 显示全部楼层 |阅读模式
  说正文前,先感谢happy_fish100提供的fastdfs,轻量级的分布式文件服务器。
  随着用户量的变大,图片,视频等的量会不断的增大,这个时候一个硬盘可能不够用了,就要加硬盘。硬盘加不了时,就要增加服务器了。同一组服务器,文件服务器的东西是一样,不同组的服务器,有不同的文件,不同的组之间,共同组建了文件服务器的所有内容。
  下面说一下,安装配置的过程,这里配置的方法,根开发者提供的方法不一样,我没有用到fastdfs-nginx-module,通过配置nginx实现了fastdfs-nginx-module的功能。
  一,Fastdfs的下载
  地址:http://sourceforge.net/projects/fastdfs/files/FastDFS%20Server%20Source%20Code/
  二,服务器,以及系统
  我用的centos 6.5 x86_64 ,fastdfs v5.01架构如下:

DSC0000.png 架构图
  这里的tracker是单点的,如果出了故障就郁闷了,以前搞过一次多tracker,不过版本比较老了。请参考:fastdfs 多服务器 配置
  三,安装fastdfs和nginx
  1,安装nginx

  • //安装,gcc,automake,autoconf等依赖包  
  • [iyunv@localhost download]$ yum install gettext gettext-devel libXft libXft-devel libXpm libXpm-devel\  
  • automake autoconf libXtst-devel gtk+-devel gcc zlib-devel libpng-devel gtk2-devel glib-devel

  • //安装FastDFS  
  • [iyunv@localhost download]# tar zxf FastDFS_v5.01.tar.gz
  • [iyunv@localhost download]# cd FastDFS
  • [iyunv@localhost download]# ./make.sh
  • [iyunv@localhost download]# ./make.sh install

  • //安装成功有以下内容  
  • [iyunv@localhost fdfs]# ll /usr/local/bin/ |grep fdfs
  • -rwxr-xr-x 1 root root 522870 7月 4 03:20 fdfs_appender_test
  • -rwxr-xr-x 1 root root 522823 7月 4 03:20 fdfs_appender_test1
  • -rwxr-xr-x 1 root root 513975 7月 4 03:20 fdfs_append_file
  • -rwxr-xr-x 1 root root 513393 7月 4 03:20 fdfs_crc32
  • -rwxr-xr-x 1 root root 513927 7月 4 03:20 fdfs_delete_file
  • -rwxr-xr-x 1 root root 514329 7月 4 03:20 fdfs_download_file
  • -rwxr-xr-x 1 root root 514093 7月 4 03:20 fdfs_file_info
  • -rwxr-xr-x 1 root root 525024 7月 4 03:20 fdfs_monitor
  • -rwxr-xr-x 1 root root 1179642 7月 4 03:20 fdfs_storaged
  • -rwxr-xr-x 1 root root 529805 7月 4 03:20 fdfs_test
  • -rwxr-xr-x 1 root root 527726 7月 4 03:20 fdfs_test1
  • -rwxr-xr-x 1 root root 655761 7月 4 03:20 fdfs_trackerd
  • -rwxr-xr-x 1 root root 514173 7月 4 03:20 fdfs_upload_appender
  • -rwxr-xr-x 1 root root 514951 7月 4 03:20 fdfs_upload_file
  2,安装nginx
  所有机器的fastdfs和nginx安装方法都是一样。
  四,配置192.168.10.219服务器
  1,配置tracker和storage

  • [iyunv@localhost fdfs]# vim /etc/fdfs/tracker.conf

  • port=22122                   #设置tracker的端口号
  • base_path=/var/www/fastdfs   #设置tracker的数据文件和日志目录(需预先创建)  
  如果要调优,参考:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=1941456

  • [iyunv@localhost fdfs]# vim /etc/fdfs/storage.conf

  • group_name=group1                   #组名,根据实际情况修改
  • port=23000                          #设置storage的端口号
  • base_path=/var/www/fastdfs          #设置storage的日志目录(需预先创建)  
  • store_path_count=1                  #存储路径个数,需要和store_path个数匹配
  • store_path0=/var/www/fastdfs        #存储路径  
  • tracker_server=192.168.10.219:22122 #tracker服务器的IP地址和端口号
  2,tracker的nginx配置

  • [iyunv@localhost nginx]# cat /etc/nginx/nginx.conf   #配置主配置文件
  • user nginx;
  • worker_processes 1;
  • events {
  • worker_connections 65535;  #最大链接数
  • use epoll;                 #新版本的Linux可使用epoll加快处理性能  
  • }
  • error_log /var/log/nginx/error.log;  
  • pid /var/run/nginx.pid;  

  • http {
  • server_names_hash_bucket_size 128;
  • client_header_buffer_size 32k;
  • large_client_header_buffers 4 32k;
  • client_max_body_size 300m;
  • sendfile on;
  • tcp_nopush on;
  • proxy_redirect off;
  • proxy_set_header Host $http_host;  
  • proxy_set_header X-Real-IP $remote_addr;  
  • proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
  • proxy_connect_timeout 90;
  • proxy_send_timeout 90;
  • proxy_read_timeout 90;
  • proxy_buffer_size 16k;
  • proxy_buffers 4 64k;
  • proxy_busy_buffers_size 128k;
  • proxy_temp_file_write_size 128k;

  • log_format main '$remote_addr - $remote_user [$time_local] "$request" '  
  • '$status $body_bytes_sent "$http_referer" '  
  • '"$http_user_agent" "$http_x_forwarded_for"';  

  • access_log /var/log/nginx/access.log main;  

  • #设置缓存存储路径、存储方式、分配内存大小、磁盘最大空间、缓存期限
  • proxy_cache_path /var/cache/nginx/proxy_cache levels=1:2 keys_zone=http-cache:500m max_size=10g inactive=30d;  
  • proxy_temp_path /var/cache/nginx/proxy_cache/tmp;  

  • upstream fdfs_group1 { #设置group1的服务器
  • server 192.168.10.209:8080 weight=1 max_fails=2 fail_timeout=30s;
  • server 192.168.10.219:8080 weight=1 max_fails=2 fail_timeout=30s;
  • }

  • upstream fdfs_group2 { #设置group2的服务器
  • server 192.168.10.103:10000 weight=1 max_fails=2 fail_timeout=30s;
  • }

  • include /etc/nginx/conf.d/*.conf;  
  • }

  • [iyunv@localhost fdfs]# cat /etc/nginx/conf.d/tracker.conf    #配置nginx的tracker
  • server {
  • listen 80;                #设置服务器端口
  • server_name 192.168.10.219;

  • location /group1/M00 {    #设置group1的负载均衡参数
  • proxy_next_upstream http_502 http_504 error timeout invalid_header;
  • proxy_cache http-cache;
  • proxy_cache_valid 200 304 12h;
  • proxy_cache_key $uri$is_args$args;  
  • proxy_pass http://fdfs_group1;  
  • expires 30d;
  • }

  • location ~* /group2/(M00|M01) { #设置group2的负载均衡参数
  • proxy_next_upstream http_502 http_504 error timeout invalid_header;
  • proxy_cache http-cache;
  • proxy_cache_valid 200 304 12h;
  • proxy_cache_key $uri$is_args$args;  
  • proxy_pass http://fdfs_group2;  
  • expires 30d;
  • }
  • }

  • [iyunv@localhost conf.d]# cat /etc/nginx/conf.d/storage.conf   #配置nginx的storage
  • server
  • {
  • listen 8080;
  • server_name 192.168.10.219;

  • location /group1/M00/ {
  • root /var/www/fastdfs/data;  
  • rewrite ^/group1/M00/(.*) /$1 break;  
  • }

  • }
  3,启动tracker,storage和nginx

  • //启动  
  • [iyunv@localhost fdfs]# /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
  • [iyunv@localhost fdfs]# /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf restart
  • [iyunv@localhost fdfs]# /etc/init.d/nginx start
  在这里有一点要注意,就是要先启动tracker在启动storage,如果nginx报目录没有建,创建一下,在重新启动
  五,配置192.168.10.209服务器
  1,配置storage

  • [iyunv@localhost fdfs]# vim /etc/fdfs/storage.conf

  • group_name=group1                   #组名,根据实际情况修改
  • port=23000                          #设置storage的端口号
  • base_path=/var/www/fastdfs          #设置storage的日志目录(需预先创建)  
  • store_path_count=1                  #存储路径个数,需要和store_path个数匹配
  • store_path0=/var/www/fastdfs        #存储路径  
  • tracker_server=192.168.10.219:22122 #tracker服务器的IP地址和端口号
  2,nginx配置

  • [iyunv@localhost conf.d]# cat /etc/nginx/conf.d/storage.conf   #配置storage
  • server
  • {
  • listen 8080;
  • server_name 192.168.10.209;

  • location /group1/M00/ {
  • root /var/www/fastdfs/data;  
  • rewrite ^/group1/M00/(.*) /$1 break;  
  • }

  • }
  3,启动

  • //启动  
  • [iyunv@localhost fdfs]# /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf restart
  • [iyunv@localhost fdfs]# /etc/init.d/nginx start
  六,配置192.168.10.103服务器
  1,配置storage

  • [iyunv@localhost fdfs]# vim /etc/fdfs/storage.conf

  • group_name=group2                   #组名,根据实际情况修改
  • port=23000                          #设置storage的端口号
  • base_path=/var/www/fastdfs          #设置storage的日志目录(需预先创建)  
  • store_path_count=2                  #存储路径个数,需要和store_path个数匹配
  • store_path0=/var/www/fastdfs        #存储路径  
  • store_path1=/mnt/usb/fastdfs2       #硬盘2的存储路径
  • tracker_server=192.168.10.219:22122 #tracker服务器的IP地址和端口号
  在这里有一点要注意,就是有二块硬盘,存文件的目录也有二个
  2,配置nginx

  • [iyunv@localhost conf.d]# cat /etc/nginx/conf.d/storage.conf    #配置storage
  • server
  • {
  • listen 10000;
  • server_name 192.168.10.103;

  • location /group2/M01/ {
  • root /mnt/usb/fastdfs2/data;
  • rewrite ^/group2/M01/(.*) /$1 break;  
  • }

  • location /group2/M00/ {
  • root /var/www/fastdfs/data;  
  • rewrite ^/group2/M00/(.*) /$1 break;  
  • }

  • }
  3,启动

  • //启动  
  • [iyunv@localhost fdfs]# /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf restart
  • [iyunv@localhost fdfs]# /etc/init.d/nginx start
  到这儿就安装配置好了,有一点要注意:
  就是访问文件服务器的文件时,地址要用tracker的地址,例如:
  http://192.168.10.219/group2/M01/00/00/wKgKZ1PAEquAbLj1AAK4TxGeCvM649.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-382189-1-1.html 上篇帖子: centos 系统下安装FastDFS+nginx+fastdfs-nginx-module安装配置 下篇帖子: 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表