一. 什么是FastDFS
	FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负
载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供
件上传、下载等服务。
			
二. FastDFS 搭建
	使用一台虚拟机模拟,只有一个tracker、一个storage服务,并且配置nginx访问图片。
. FastDFS 安装
	1. 安装libfastcommon

	   1)通过wget下载:
		wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
	   2)解压libfastcommon
		tar -zxvf V1.0.7.tar.gz
	   3)编译,进入libfastcommon-1.0.7目录,命令
		cd libfastcommon-1.0.7
		./make.sh
	   4)安装,命令:
		./make.sh install
	   5)安装成功,显示

 

	2. 安装FastDFS
	    1)通过wget下载:
		 wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
	    2)解压FastDFS
		tar -zxvf V5.05.tar.gz
	    3)编译
		cd fastdfs-5.05
		./make.sh
	    4)安装
		./make.sh install
	    5)安装成功,显示:

 

	3. 配置Tracker服务
	    以上安装成功后,在/etc/目录下会有一个fdfs目录,对应会有三个.sample后缀的文件,我们需要把其
中的tracker.conf.sample文件改为tracker.conf配置文件并修改它,命令:
		cp tracker.conf.sample tracker.conf		
		vim tracker.conf

	    将base_path修改为本地有的目录即可:

		

	    启动tracker服务:
		/usr/local/FastDFS/tracker/fdfs_trackerd /etc/fdfs/tracker.conf	
	4. 配置storage服务
	    和配置tracker服务一样,只需要修改对应配置文件的某些参数即可,命令:
		cp storage.conf.sample storage.conf
		vim storage.conf
	    1)修改base_path路径:

				    
            2)修改store_path0路径,此为图片的保存路径:
			

       3)指定tracker服务器的ip及端口号:
			

	启动storage服务:
		/usr/local/FastDFS/storage/fdfs_storaged /etc/fdfs/storage.conf
	5. 测试服务
	    修改client.conf,命令:
		cp client.conf.sample client.conf
		vim client.conf
	    修改base_path路径并且指定tracker服务地址:

			

	上传测试,命令:
		/usr/local/FastDFS/client/fdfs_test /etc/fdfs/client.conf upload /usr/local/11.jpg

			
四. FastDFS配置nginx模块
	1. 安装nginx,具体步骤可参考博客:http://blog.csdn.net/hu_zhiting/article/details/57113698

	2. 安装fastdfs-nginx-module
	    1)通过wget下载:
		wget https://github.com/happyfish100/fastdfs-nginx-module/archive/master.zip
	    2)解压fastdfs-nginx-module,命令:
		unzip master.zip
	    3)进入nginx安装目录,配置nginx安装,加入fastdfs-nginx-module模块,命令:
		./configure --add-module=../fastdfs-nginx-module-master/src/
	    4)可用命令/usr/local/nginx/sbin/nginx -V查看安装好的版本和模块。
	3. 配置fastdfs-nginx-module,并拷贝到/etc/fdfs/目录下。
	    cd /usr/local/fastdfs-nginx-module-master/src/
	    vim mod_fastdfs.conf
	修改内容如下:

			
	    cp mod_fastdfs.conf /etc/fdfs

	    将fastdfs-5.05中http.conf以及mime.types拷贝到/etc/fdfs目录下:
	    cd /usr/local/fastdfs-5.05/conf
	    cp http.conf mime.types /etc/fdfs
	4. 配置nginx
	    编辑nginx.conf文件:
		cd /usr/local/nginx/conf
		vi nginx.conf
	    修改内容如下:

			

	    由于配置了group1/M00访问,我们需要建立一个group1文件夹,并建立M00到data的软链接。
	     mkdir /home/huzhiting/fastdfs/storage/data/group1
	     ln -s /home/huzhiting/fastdfs/storage/data /home/huzhiting/fastdfs/storage/data/group1/M00
	    启动nginx,会打印出fastdfs模块的pid

 

	    若出现nginx默认欢迎页面,则说明nginx结合fastdfs-nginx-module模块安装并配置成功。
	5. 测试
	    完成上述步骤后,我们再来测试一下上传图片,命令:
		/usr/local/FastDFS/client/fdfs_test /etc/fdfs/client.conf upload /usr/local/11.jpg
	    将生成的url地址输入浏览器直接访问,没有问题的情况下,便可以直接访问到图片了:

         

五. 总结

	FastDFS也是属于经常听说,而自己从没有接触过。学习被搁置了好长一段时间,之前刚开始接触linux系统
一切都是陌生的,通过这段时间的积累,也是越来越熟悉了,因而此次过程还是挺顺利的。图片服务器的搭建到此
就完成了。下篇博客会介绍如何与项目相结合,即通过客户端来测试图片上传的应用。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐