nginx的FastDFS分布式存储模块测试方法
2010-12-30 09:58
337 查看
很长时间没有关注FastDFS了,第一次使用FastDFS 是在 08年的时候11月的时候,那个时候是为了解决公司的数据存储~那时候可能是对Fastdfs了解不深,功能还不算太健全,最后选择了lustre。
再回过头来看FastDFS更新很快,还看到fastdfs-nginx-module_v1.01.tar.gz nginx模块,所以今天在一台测试机上测试了·测试几天看稳定不稳定,在考虑换掉浪费资源的 lustre !环境:
storage1:192.168.6.100 storage2:192.168.6.101 tracker:192.168.6.102
1. 在每个机器上,下载安装 FastDFS
nginx $> wget http://fastdfs.googlecode.com/files/FastDFS_v2.04.tar.gz # 解压 nginx $> tar zxvf FastDFS_v2.04.tar.gz nginx $> cd FastDFS # 因为我是给nginx添加fastdfs模块,所以不需要fastdfs支持 http 所以我就不需要去掉 #WITH_HTTPD=1 前的注释了,直接编译 nginx $> ./make.sh nginx $> ./make.sh install
2.修改tracker 和 storage 的配置文件
# tracker 的修改
tracker $> vim /etc/fdfs/tracker.conf
bind_addr=192.168.6.102 #绑定IP port=22122 #服务端口 work_threads=4 #线程数,通常设置CPU数 store_lookup=2 上传组(卷) 的方式 0:轮询方式 1: 指定组 2: 平衡负载(选择最大剩余空间的组(卷)上传) 这里如果在应用层指定了上传到一个固定组,那么这个参数被绕过 store_group=group1 当上一个参数设定为1 时 (store_lookup=1,即指定组名时),必须设置本参数为系统中存在的一个组名。如果选择其他的上传方式,这个参数就没有效了 store_server=0 选择哪个storage server 进行上传操作(一个文件被上传后,这个storage server就相当于这个文件的storage server源,会对同组的storage server推送这个文件达到同步效果) # 0: 轮询方式 # 1: 根据ip 地址进行排序选择第一个服务器(IP地址最小者) # 2: 根据优先级进行排序(上传优先级由storage server来设置,参数名为upload_priority) store_path=0 选择storage server 中的哪个目录进行上传。storage server可以有多个存放文件的base path(可以理解为多个磁盘)。 # 0: 轮流方式,多个目录依次存放文件 # 2: 选择剩余空间最大的目录存放文件(注意:剩余磁盘空间是动态的,因此存储到的目录或磁盘可能也是变化的) download_server=0 选择哪个 storage server 作为下载服务器 # 0: 轮询方式,可以下载当前文件的任一storage server # 1: 哪个为源storage server 就用哪一个 (前面说过了这个storage server源 是怎样产生的) 就是之前上传到哪个storage server服务器就是哪个了
#两台 storage.conf的修改
storage $> vim /etc/fdfs/storage.conf
disabled=false #配置是否生效 group_name=group1 #storage所在组(卷) bind_addr=192.168.6.100 # 绑定IP,另一太 storage IP为 192.168.6.101 client_bind=true #bind_addr通常是针对server的。当指定bind_addr时,本参数才有效。 port=23000 # 是storage 服务端口
3.建立tracker 和 storage 的根目录
# tracker tracker $> mkdir -p /home/eric # storage storage $> mkdir -p /home/yangzi
4.在 一台storage上下载,比如我在 192.168.6.100上下载 nginx 和 fastdfs-nginx-module 模块
storage $> wget http://www.nginx.org/download/nginx-0.8.53.tar.gz storage $> svn export http://fastdfs-nginx-module.googlecode.com/svn/trunk/ fastdfs-nginx-module-read-only
5.编译安装 nginx 附带 fastdfs-nginx-module 模块
storage $> tar zxvf nginx-0.8.53.tar.gz storage $> cd nginx-0.8.53 storage $> ./configure --prefix=/usr/local/nginx --add-module=/root/fastdfs-nginx-module-read-only/src storage $> make storage $> make install # 拷贝mod_fastdfs.conf 到/etc/fdfs/ storage $> cp /root/fastdfs-nginx-module-read-only/src/mod_fastdfs.conf /etc/fdfs/
6.修改 nginx 配置文件增加
storage $> vim /usr/local/nginx/conf/nginx.conf
# 增加一下
location /M00 {
alias /home/eric/data;
ngx_fastdfs_module;
}
7. 给 storage 的存储目录做一个软连接
storage $> ln -s /home/yangzi/data /home/yangzi/data/M00
8. 启动两台 storage 和tracker nginx
# 启动 tracker tracker $> /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf # 启动 storage storage $> /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf # 启动 storage2 storage2 $> /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf #在 storage启动 nginx storage $> /usr/local/nginx/sbin/nginx
9、上传文件测试。
# 修改客户端配置文件
storage $> vim /etc/fdfs/client.conf connect_timeout=30 network_timeout=60 base_path=/home/yangzi tracker_server=192.168.6.102:22122 log_level=info #下面参数无所谓了反正没有用到http 服务 http.tracker_server_port=80
storage $> vim a.html test FastDFS!
storage $> /usr/local/bin/fdfs_test /etc/fdfs/client.conf upload a.html This is FastDFS client test program v2.04 Copyright (C) 2008, Happy Fish / YuQing FastDFS may be copied only under the terms of the GNU General Public License V3, which may be found in the FastDFS source kit. Please visit the FastDFS Home Page http://www.csource.org/ for more detail. base_path=/home/yangzi, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0 tracker_query_storage_store_list_without_group: server 1. group_name=group1, ip_addr=192.168.6.100, port=23000 group_name=group1, ip_addr=192.168.6.100, port=23000 storage_upload_by_filename group_name=group1, remote_filename=M00/00/00/wKgGvEz3Y9MAAAAAAAAADigvbpc73.html source ip address: 192.168.6.100 file timestamp=2010-12-02 17:16:03 file size=14 file crc32=674197143 file url: http://192.168.6.100/group1/M00/00/00/wKgGvEz3Y9MAAAAAAAAADigvbpc73.html storage_upload_slave_by_filename group_name=group1, remote_filename=M00/00/00/wKgGvEz3Y9MAAAAAAAAADigvbpc73_big.html source ip address: 192.168.6.100 file timestamp=2010-12-02 17:16:03 file size=14 file crc32=674197143 file url: http://192.168.6.100/group1/M00/00/00/wKgGvEz3Y9MAAAAAAAAADigvbpc73_big.html[/code] 打开IE浏览器访问:
相关文章推荐
- nginx的FastDFS分布式存储模块测试方法
- fastdfs分布式存储整合nginx 排坑指南
- FastDFS详细安装步骤,测试;Nginx中配置FastDFS,并提供优化,下载方法,楼主已测
- 测试nginx的FastDFS分布式存储模块
- FastDFS详细安装步骤,测试;Nginx中配置FastDFS,并提供优化,下载方法,楼主已测
- FastDFS+Nginx+fastdfs-nginx-module分布式存储环境搭建
- CentOS fastDFS结合nginx的配置以及php端的调用方法
- FastDFS安装和配置整合Nginx-1.13.3的方法
- nginx重启报找不到nginx.pid的解决方法
- Nginx直接post请求获取静态文件 返回405错误的终极解决方法
- Nginx服务器部署SSL证书手机不信任解决方法
- Nginx服务器中设置禁止访问文件或目录的方法
- nginx配置方法
- windows下nginx的安装及使用方法入门
- Nginx利用lua剪辑FastDFS图片
- ubuntu中FastDFS+Nginx环境搭建
- ubuntu中FastDFS+Nginx环境搭建
- 检查Nginx的配置,重载配置和重启的方法
- 网站安全配置(Nginx)防止网站被攻击(包括使用了CDN加速之后的配置方法)
- nginx-lua-fastdfs-GraphicsMagick整合