随着用户量的变大,图片,视频等的量会不断的增大,这个时候一个硬盘可能不够用了,就要加硬盘。硬盘加不了时,就要增加服务器了。同一组服务器,文件服务器的东西是一样,不同组的服务器,有不同的文件,不同的组之间,共同组建了文件服务器的所有内容。
下面说一下,安装配置的过程,这里配置的方法,根开发者提供的方法不一样,我没有用到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
- @H_403_35@//安装,gcc,automake,autoconf等依赖包
- [root@localhostdownload]$yuminstallgettextgettext-devellibXftlibXft-devellibXpmlibXpm-devel\
- automakeautoconflibXtst-develgtk+-develgcczlib-devellibpng-develgtk2-develglib-devel
- @H_403_35@//安装FastDFS
- [root@localhostdownload]#tarzxfFastDFS_v5.01.tar.gz
- [root@localhostdownload]#cdFastDFS
- [root@localhostdownload]#./make.sh
- [root@localhostdownload]#./make.shinstall
- @H_403_35@//安装成功有以下内容
- [root@localhostfdfs]#ll/usr/local/bin/|grepfdfs
- -rwxr-xr-x1rootroot5228707月403:20fdfs_appender_test
- -rwxr-xr-x1rootroot5228237月403:20fdfs_appender_test1
- -rwxr-xr-x1rootroot5139757月403:20fdfs_append_file
- -rwxr-xr-x1rootroot5133937月403:20fdfs_crc32
- -rwxr-xr-x1rootroot5139277月403:20fdfs_delete_file
- -rwxr-xr-x1rootroot5143297月403:20fdfs_download_file
- -rwxr-xr-x1rootroot5140937月403:20fdfs_file_info
- -rwxr-xr-x1rootroot5250247月403:20fdfs_monitor
- -rwxr-xr-x1rootroot11796427月403:20fdfs_storaged
- -rwxr-xr-x1rootroot5298057月403:20fdfs_test
- -rwxr-xr-x1rootroot5277267月403:20fdfs_test1
- -rwxr-xr-x1rootroot6557617月403:20fdfs_trackerd
- -rwxr-xr-x1rootroot5141737月403:20fdfs_upload_appender
- -rwxr-xr-x1rootroot5149517月403:20fdfs_upload_file
2,安装Nginx
- [root@localhostfdfs]#yuminstallNginx
四,配置192.168.10.219服务器
1,配置tracker和storage
- [root@localhostfdfs]#vim/etc/fdfs/tracker.conf
- port=22122#设置tracker的端口号
- base_path=/var/www/fastdfs#设置tracker的数据文件和日志目录(需预先创建)
如果要调优,参考:http://bbs.chinaunix.net/forum.PHP?mod=viewthread&tid=1941456
- [root@localhostfdfs]#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配置
- [root@localhostNginx]#cat/etc/Nginx/Nginx.conf#配置主配置文件
- userNginx;
- worker_processes1;
- events{
- worker_connections65535;#最大链接数
- useepoll;#新版本的Linux可使用epoll加快处理性能
- }
- error_log/var/log/Nginx/error.log;
- pid/var/run/Nginx.pid;
- http{
- server_names_hash_bucket_size128;
- client_header_buffer_size32k;
- large_client_header_buffers432k;
- client_max_body_size300m;
- sendfileon;
- tcp_nopushon;
- proxy_redirectoff;
- proxy_set_headerHost$http_host;
- proxy_set_headerX-Real-IP$remote_addr;
- proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
- proxy_connect_timeout90;
- proxy_send_timeout90;
- proxy_read_timeout90;
- proxy_buffer_size16k;
- proxy_buffers464k;
- proxy_busy_buffers_size128k;
- proxy_temp_file_write_size128k;
- log_formatmain'$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.logmain;
- #设置缓存存储路径、存储方式、分配内存大小、磁盘最大空间、缓存期限
- proxy_cache_path/var/cache/Nginx/proxy_cachelevels=1:2keys_zone=http-cache:500mmax_size=10ginactive=30d;
- proxy_temp_path/var/cache/Nginx/proxy_cache/tmp;
- upstreamfdfs_group1{#设置group1的服务器
- server192.168.10.209:8080weight=1max_fails=2fail_timeout=30s;
- server192.168.10.219:8080weight=1max_fails=2fail_timeout=30s;
- }
- upstreamfdfs_group2{#设置group2的服务器
- server192.168.10.103:10000weight=1max_fails=2fail_timeout=30s;
- }
- include/etc/Nginx/conf.d/*.conf;
- }
- [root@localhostfdfs]#cat/etc/Nginx/conf.d/tracker.conf#配置Nginx的tracker
- server{
- listen80;#设置服务器端口
- server_name192.168.10.219;
- location/group1/M00{#设置group1的负载均衡参数
- proxy_next_upstreamhttp_502http_504errortimeoutinvalid_header;
- proxy_cachehttp-cache;
- proxy_cache_valid20030412h;
- proxy_cache_key$uri$is_args$args;
- proxy_passhttp:@H_403_35@//fdfs_group1;
- expires30d;
- }
- location~*/group2/(M00|M01){#设置group2的负载均衡参数
- proxy_next_upstreamhttp_502http_504errortimeoutinvalid_header;
- proxy_cachehttp-cache;
- proxy_cache_valid20030412h;
- proxy_cache_key$uri$is_args$args;
- proxy_passhttp:@H_403_35@//fdfs_group2;
- expires30d;
- }
- }
3,启动tracker,storage和Nginx
在这里有一点要注意,就是要先启动tracker在启动storage,如果Nginx报目录没有建,创建一下,在重新启动
五,配置192.168.10.209服务器
1,配置storage
- [root@localhostfdfs]#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配置
- [root@localhostconf.d]#cat/etc/Nginx/conf.d/storage.conf#配置storage
- server
- {
- listen8080;
- server_name192.168.10.209;
- location/group1/M00/{
- root/var/www/fastdfs/data;
- rewrite^/group1/M00/(.*)/$1break;
- }
- }
3,启动
六,配置192.168.10.103服务器
1,配置storage
- [root@localhostfdfs]#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
- [root@localhostconf.d]#cat/etc/Nginx/conf.d/storage.conf#配置storage
- server
- {
- listen10000;
- server_name192.168.10.103;
- location/group2/M01/{
- root/mnt/usb/fastdfs2/data;
- rewrite^/group2/M01/(.*)/$1break;
- }
- location/group2/M00/{
- root/var/www/fastdfs/data;
- rewrite^/group2/M00/(.*)/$1break;
- }
- }
3,启动
到这儿就安装配置好了,有一点要注意:
就是访问文件服务器的文件时,地址要用tracker的地址,例如:
http://192.168.10.219/group2/M01/00/00/wKgKZ1PAEquAbLj1AAK4TxGeCvM649.jpg
原文链接:https://www.f2er.com/centos/379432.html