centos fastdfs 多服务器 多硬盘 多组 配置详解

前端之家收集整理的这篇文章主要介绍了centos 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架构如下:

架构图

这里的tracker是单点

三,安装fastdfs和Nginx

1,安装Nginx

  1. //安装,gcc,automake,autoconf等依赖包@H_403_37@
  2. [root@localhostdownload]$yuminstallgettextgettext-devellibXftlibXft-devellibXpmlibXpm-devel\@H_403_37@
  3. automakeautoconflibXtst-develgtk+-develgcczlib-devellibpng-develgtk2-develglib-devel@H_403_37@
  4. @H_403_37@
  5. //安装FastDFS@H_403_37@
  6. [root@localhostdownload]#tarzxfFastDFS_v5.01.tar.gz@H_403_37@
  7. [root@localhostdownload]#cdFastDFS@H_403_37@
  8. [root@localhostdownload]#./make.sh@H_403_37@
  9. [root@localhostdownload]#./make.shinstall@H_403_37@
  10. @H_403_37@
  11. //安装成功有以下内容@H_403_37@
  12. [root@localhostfdfs]#ll/usr/local/bin/|grepfdfs@H_403_37@
  13. -rwxr-xr-x1rootroot5228707月403:20fdfs_appender_test@H_403_37@
  14. -rwxr-xr-x1rootroot5228237月403:20fdfs_appender_test1@H_403_37@
  15. -rwxr-xr-x1rootroot5139757月403:20fdfs_append_file@H_403_37@
  16. -rwxr-xr-x1rootroot5133937月403:20fdfs_crc32@H_403_37@
  17. -rwxr-xr-x1rootroot5139277月403:20fdfs_delete_file@H_403_37@
  18. -rwxr-xr-x1rootroot5143297月403:20fdfs_download_file@H_403_37@
  19. -rwxr-xr-x1rootroot5140937月403:20fdfs_file_info@H_403_37@
  20. -rwxr-xr-x1rootroot5250247月403:20fdfs_monitor@H_403_37@
  21. -rwxr-xr-x1rootroot11796427月403:20fdfs_storaged@H_403_37@
  22. -rwxr-xr-x1rootroot5298057月403:20fdfs_test@H_403_37@
  23. -rwxr-xr-x1rootroot5277267月403:20fdfs_test1@H_403_37@
  24. -rwxr-xr-x1rootroot6557617月403:20fdfs_trackerd@H_403_37@
  25. -rwxr-xr-x1rootroot5141737月403:20fdfs_upload_appender@H_403_37@
  26. -rwxr-xr-x1rootroot5149517月403:20fdfs_upload_file@H_403_37@

2,安装Nginx

  1. [root@localhostfdfs]#yuminstallNginx@H_403_37@

所有机器的fastdfs和Nginx安装方法都是一样。

四,配置192.168.10.219服务器

1,配置tracker和storage

  1. [root@localhostfdfs]#vim/etc/fdfs/tracker.conf@H_403_37@
  2. @H_403_37@
  3. port=22122#设置tracker的端口号@H_403_37@
  4. base_path=/var/www/fastdfs#设置tracker的数据文件和日志目录(需预先创建)@H_403_37@

如果要调优,参考:http://bbs.chinaunix.net/forum.PHP?mod=viewthread&tid=1941456

  1. [root@localhostfdfs]#vim/etc/fdfs/storage.conf@H_403_37@
  2. @H_403_37@
  3. group_name=group1#组名,根据实际情况修改@H_403_37@
  4. port=23000#设置storage的端口号@H_403_37@
  5. base_path=/var/www/fastdfs#设置storage的日志目录(需预先创建)@H_403_37@
  6. store_path_count=1#存储路径个数,需要和store_path个数匹配@H_403_37@
  7. store_path0=/var/www/fastdfs#存储路径@H_403_37@
  8. tracker_server=192.168.10.219:22122#tracker服务器的IP地址和端口号@H_403_37@

2,tracker的Nginx配置

  1. [root@localhostNginx]#cat/etc/Nginx/Nginx.conf#配置主配置文件@H_403_37@
  2. userNginx;@H_403_37@
  3. worker_processes1;@H_403_37@
  4. events{@H_403_37@
  5. worker_connections65535;#最大链接数@H_403_37@
  6. useepoll;#新版本的Linux可使用epoll加快处理性能@H_403_37@
  7. }@H_403_37@
  8. error_log/var/log/Nginx/error.log;@H_403_37@
  9. pid/var/run/Nginx.pid;@H_403_37@
  10. @H_403_37@
  11. http{@H_403_37@
  12. server_names_hash_bucket_size128;@H_403_37@
  13. client_header_buffer_size32k;@H_403_37@
  14. large_client_header_buffers432k;@H_403_37@
  15. client_max_body_size300m;@H_403_37@
  16. sendfileon;@H_403_37@
  17. tcp_nopushon;@H_403_37@
  18. proxy_redirectoff;@H_403_37@
  19. proxy_set_headerHost$http_host;@H_403_37@
  20. proxy_set_headerX-Real-IP$remote_addr;@H_403_37@
  21. proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;@H_403_37@
  22. proxy_connect_timeout90;@H_403_37@
  23. proxy_send_timeout90;@H_403_37@
  24. proxy_read_timeout90;@H_403_37@
  25. proxy_buffer_size16k;@H_403_37@
  26. proxy_buffers464k;@H_403_37@
  27. proxy_busy_buffers_size128k;@H_403_37@
  28. proxy_temp_file_write_size128k;@H_403_37@
  29. @H_403_37@
  30. log_formatmain'$remote_addr-$remote_user[$time_local]"$request"'@H_403_37@
  31. '$status$body_bytes_sent"$http_referer"'@H_403_37@
  32. '"$http_user_agent""$http_x_forwarded_for"';@H_403_37@
  33. @H_403_37@
  34. access_log/var/log/Nginx/access.logmain;@H_403_37@
  35. @H_403_37@
  36. #设置缓存存储路径、存储方式、分配内存大小、磁盘最大空间、缓存期限@H_403_37@
  37. proxy_cache_path/var/cache/Nginx/proxy_cachelevels=1:2keys_zone=http-cache:500mmax_size=10ginactive=30d;@H_403_37@
  38. proxy_temp_path/var/cache/Nginx/proxy_cache/tmp;@H_403_37@
  39. @H_403_37@
  40. upstreamfdfs_group1{#设置group1的服务器@H_403_37@
  41. server192.168.10.209:8080weight=1max_fails=2fail_timeout=30s;@H_403_37@
  42. server192.168.10.219:8080weight=1max_fails=2fail_timeout=30s;@H_403_37@
  43. }@H_403_37@
  44. @H_403_37@
  45. upstreamfdfs_group2{#设置group2的服务器@H_403_37@
  46. server192.168.10.103:10000weight=1max_fails=2fail_timeout=30s;@H_403_37@
  47. }@H_403_37@
  48. @H_403_37@
  49. include/etc/Nginx/conf.d/*.conf;@H_403_37@
  50. }@H_403_37@
  1. [root@localhostfdfs]#cat/etc/Nginx/conf.d/tracker.conf#配置Nginx的tracker@H_403_37@
  2. server{@H_403_37@
  3. listen80;#设置服务器端口@H_403_37@
  4. server_name192.168.10.219;@H_403_37@
  5. @H_403_37@
  6. location/group1/M00{#设置group1的负载均衡参数@H_403_37@
  7. proxy_next_upstreamhttp_502http_504errortimeoutinvalid_header;@H_403_37@
  8. proxy_cachehttp-cache;@H_403_37@
  9. proxy_cache_valid20030412h;@H_403_37@
  10. proxy_cache_key$uri$is_args$args;@H_403_37@
  11. proxy_passhttp://fdfs_group1;@H_403_37@
  12. expires30d;@H_403_37@
  13. }@H_403_37@
  14. @H_403_37@
  15. location~*/group2/(M00|M01){#设置group2的负载均衡参数@H_403_37@
  16. proxy_next_upstreamhttp_502http_504errortimeoutinvalid_header;@H_403_37@
  17. proxy_cachehttp-cache;@H_403_37@
  18. proxy_cache_valid20030412h;@H_403_37@
  19. proxy_cache_key$uri$is_args$args;@H_403_37@
  20. proxy_passhttp://fdfs_group2;@H_403_37@
  21. expires30d;@H_403_37@
  22. }@H_403_37@
  23. }@H_403_37@
  1. [root@localhostconf.d]#cat/etc/Nginx/conf.d/storage.conf#配置Nginx的storage@H_403_37@
  2. server@H_403_37@
  3. {@H_403_37@
  4. listen8080;@H_403_37@
  5. server_name192.168.10.219;@H_403_37@
  6. @H_403_37@
  7. location/group1/M00/{@H_403_37@
  8. root/var/www/fastdfs/data;@H_403_37@
  9. rewrite^/group1/M00/(.*)/$1break;@H_403_37@
  10. }@H_403_37@
  11. @H_403_37@
  12. }@H_403_37@

3,启动tracker,storage和Nginx

  1. //启动@H_403_37@
  2. [root@localhostfdfs]#/usr/local/bin/fdfs_trackerd/etc/fdfs/tracker.confrestart@H_403_37@
  3. [root@localhostfdfs]#/usr/local/bin/fdfs_storaged/etc/fdfs/storage.confrestart@H_403_37@
  4. [root@localhostfdfs]#/etc/init.d/Nginxstart@H_403_37@

在这里有一点要注意,就是要先启动tracker在启动storage,如果Nginx报目录没有建,创建一下,在重新启动

五,配置192.168.10.209服务器

1,配置storage

  1. [root@localhostfdfs]#vim/etc/fdfs/storage.conf@H_403_37@
  2. @H_403_37@
  3. group_name=group1#组名,根据实际情况修改@H_403_37@
  4. port=23000#设置storage的端口号@H_403_37@
  5. base_path=/var/www/fastdfs#设置storage的日志目录(需预先创建)@H_403_37@
  6. store_path_count=1#存储路径个数,需要和store_path个数匹配@H_403_37@
  7. store_path0=/var/www/fastdfs#存储路径@H_403_37@
  8. tracker_server=192.168.10.219:22122#tracker服务器的IP地址和端口号@H_403_37@

2,Nginx配置

  1. [root@localhostconf.d]#cat/etc/Nginx/conf.d/storage.conf#配置storage@H_403_37@
  2. server@H_403_37@
  3. {@H_403_37@
  4. listen8080;@H_403_37@
  5. server_name192.168.10.209;@H_403_37@
  6. @H_403_37@
  7. location/group1/M00/{@H_403_37@
  8. root/var/www/fastdfs/data;@H_403_37@
  9. rewrite^/group1/M00/(.*)/$1break;@H_403_37@
  10. }@H_403_37@
  11. @H_403_37@
  12. }@H_403_37@

3,启动

  1. //启动@H_403_37@
  2. [root@localhostfdfs]#/usr/local/bin/fdfs_storaged/etc/fdfs/storage.confrestart@H_403_37@
  3. [root@localhostfdfs]#/etc/init.d/Nginxstart@H_403_37@

六,配置192.168.10.103服务器

1,配置storage

  1. [root@localhostfdfs]#vim/etc/fdfs/storage.conf@H_403_37@
  2. @H_403_37@
  3. group_name=group2#组名,根据实际情况修改@H_403_37@
  4. port=23000#设置storage的端口号@H_403_37@
  5. base_path=/var/www/fastdfs#设置storage的日志目录(需预先创建)@H_403_37@
  6. store_path_count=2#存储路径个数,需要和store_path个数匹配@H_403_37@
  7. store_path0=/var/www/fastdfs#存储路径@H_403_37@
  8. store_path1=/mnt/usb/fastdfs2#硬盘2的存储路径@H_403_37@
  9. tracker_server=192.168.10.219:22122#tracker服务器的IP地址和端口号@H_403_37@

在这里有一点要注意,就是有二块硬盘,存文件的目录也有二个

2,配置Nginx

  1. [root@localhostconf.d]#cat/etc/Nginx/conf.d/storage.conf#配置storage@H_403_37@
  2. server@H_403_37@
  3. {@H_403_37@
  4. listen10000;@H_403_37@
  5. server_name192.168.10.103;@H_403_37@
  6. @H_403_37@
  7. location/group2/M01/{@H_403_37@
  8. root/mnt/usb/fastdfs2/data;@H_403_37@
  9. rewrite^/group2/M01/(.*)/$1break;@H_403_37@
  10. }@H_403_37@
  11. @H_403_37@
  12. location/group2/M00/{@H_403_37@
  13. root/var/www/fastdfs/data;@H_403_37@
  14. rewrite^/group2/M00/(.*)/$1break;@H_403_37@
  15. }@H_403_37@
  16. @H_403_37@
  17. }@H_403_37@

3,启动

  1. //启动@H_403_37@
  2. [root@localhostfdfs]#/usr/local/bin/fdfs_storaged/etc/fdfs/storage.confrestart@H_403_37@
  3. [root@localhostfdfs]#/etc/init.d/Nginxstart@H_403_37@

到这儿就安装配置好了,有一点要注意:

就是访问文件服务器的文件时,地址要用tracker的地址,例如:

http://192.168.10.219/group2/M01/00/00/wKgKZ1PAEquAbLj1AAK4TxGeCvM649.jpg

猜你在找的CentOS相关文章