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

2,安装Nginx

  1. [root@localhostfdfs]#yuminstallNginx

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

四,配置192.168.10.219服务器

1,配置tracker和storage

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

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

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

2,tracker的Nginx配置

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

3,启动tracker,storage和Nginx

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

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

五,配置192.168.10.209服务器

1,配置storage

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

2,Nginx配置

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

3,启动

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

六,配置192.168.10.103服务器

1,配置storage

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

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

2,配置Nginx

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

3,启动

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

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

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

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

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native