牛骨文教育服务平台(让学习变的简单)
博文笔记

搭建单机版的FastDFS服务器

创建时间:2018-02-23 投稿人: 浏览次数:215

(转载来源:http://blog.csdn.net/u012453843/article/details/69951920)

  由于FastDFS集群搭建非常复杂,对于初期学习FastDFS来说,搭建个单机版的作为入门更为实际一些。

第一步:搭建虚拟环境

        FastDFS需要在Linux系统上安装,我们一般使用的都是Windows系统,这样就需要有虚拟环境,我这里使用Vmware12创建虚拟机,关于虚拟机最小化的安装大家可以参考:http://blog.csdn.net/u012453843/article/details/68947589这篇博客进行学习

第二步:配置静态IP而且要保证能上网

       大家可以参考:http://blog.csdn.net/u012453843/article/details/52839105这篇博客进行学习,需要提醒的是,由于最小化安装默认是没有vim命令的,因此在配置静态IP时使用vi命令即可。

第三步:安装vim命令

       之所以安装vim命令是因为在安装它的同时会自动帮我们安装perl,而perl在进行编译安装时是必须要有的。安装vim的命令是:yum install vim-enhanced

第四步:安装gcc

      使用命令:yum install make cmake gcc gcc-c++进行安装即可

第五步:上传安装文件到Linux服务器

      为了便于管理,我们在Linux服务器上新建一个/usr/local/software目录,专门用于存放安装包,如下所示

[html] view plain copy
  1. [root@fastdfs ~]# mkdir /usr/local/software  
  2. [root@fastdfs ~]#  
       下面我们把需要用到的安装包都上传到/usr/local/software目录下,我们可以使用XShell和Xftp5相结合来方便的进行上传下载操作,大家可以参考http://blog.csdn.net/u012453843/article/details/68951776这篇博客进行学习。也可以通过安装rzsz命令来进行上传下载操作,安装rzsz的命令是yum install lrzsz,安装完之后,rz表示上传,sz 文件表示下载。

        大家可以到http://download.csdn.net/detail/u012453843/9802538这个地址下载需要的安装包,上传完之后,如下所示

[html] view plain copy
  1. [root@fastdfs software]# ll  
  2. 总用量 1248  
  3. -rw-r--r--. 1 root root  17510 11月 28 00:19 fastdfs-nginx-module_v1.16.tar.gz  
  4. -rw-r--r--. 1 root root 345400 11月 28 00:20 FastDFS_v5.05.tar.gz  
  5. -rw-r--r--. 1 root root 102378 11月 28 00:19 libfastcommon-master.zip  
  6. -rw-r--r--. 1 root root 804164 11月 28 01:11 nginx-1.6.2.tar.gz  
  7. [root@fastdfs software]#   

第六步:安装zip和unzip命令

        由于解压.zip结尾的文件需要用到unzip命令,因此我们需要安装,安装命令是yum install zip unzip

第七步:安装libfastcommon

       1、解压

[html] view plain copy
  1. [root@fastdfs software]# unzip libfastcommon-master.zip -d /usr/local/fast/  
       2、进入目录

[html] view plain copy
  1. [root@fastdfs software]# cd /usr/local/fast/libfastcommon-master/  
  2. [root@fastdfs libfastcommon-master]# ll  
  3. 总用量 28  
  4. -rw-r--r--. 1 root root 2913 2月  27 2015 HISTORY  
  5. -rw-r--r--. 1 root root  582 2月  27 2015 INSTALL  
  6. -rw-r--r--. 1 root root 1342 2月  27 2015 libfastcommon.spec  
  7. -rwxr-xr-x. 1 root root 2151 2月  27 2015 make.sh  
  8. drwxr-xr-x. 2 root root 4096 2月  27 2015 php-fastcommon  
  9. -rw-r--r--. 1 root root  617 2月  27 2015 README  
  10. drwxr-xr-x. 2 root root 4096 2月  27 2015 src  
  11. [root@fastdfs libfastcommon-master]#  
      3、编译

[html] view plain copy
  1. [root@fastdfs libfastcommon-master]# ./make.sh  
      4、安装

[html] view plain copy
  1. [root@fastdfs libfastcommon-master]# ./make.sh install  

 第八步:创建软链接

       FastDFS主程序设置的目录为/usr/local/lib/,所以我们需要创建/ usr/lib64/下的一些核心执行程序的软连接文件。如下所示。

[html] view plain copy
  1. [root@fastdfs libfastcommon-master]# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so  
  2. [root@fastdfs libfastcommon-master]# ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so  
  3. [root@fastdfs libfastcommon-master]# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so  
  4. [root@fastdfs libfastcommon-master]# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so  
第九步:安装FastDFS

       1、进入到cd /usr/local/software下,解压FastDFS_v5.05.tar.gz文件 

[html] view plain copy
  1. [root@fastdfs fast]# cd /usr/local/software/  
  2. [root@fastdfs software]# ll  
  3. 总用量 1248  
  4. -rw-r--r--. 1 root root  17510 4月  11 03:28 fastdfs-nginx-module_v1.16.tar.gz  
  5. -rw-r--r--. 1 root root 345400 4月  11 03:28 FastDFS_v5.05.tar.gz  
  6. -rw-r--r--. 1 root root 102378 4月  11 03:28 libfastcommon-master.zip  
  7. -rw-r--r--. 1 root root 804164 4月  11 03:29 nginx-1.6.2.tar.gz  
  8. [root@fastdfs software]# tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/  
       2、编译安装

[html] view plain copy
  1. [root@fastdfs software]# cd /usr/local/fast/FastDFS/  
  2. [root@fastdfs FastDFS]# ./make.sh  
  3. [root@fastdfs FastDFS]# ./make.sh install  
      安装完后,服务脚本位置如下

[html] view plain copy
  1. [root@fastdfs FastDFS]# cd /etc/init.d/ && ls | grep fdfs  
  2. fdfs_storaged  
  3. fdfs_trackerd  
  4. [root@fastdfs init.d]#  
       配置文件位置如下:

[html] view plain copy
  1. [root@fastdfs init.d]# cd /etc/fdfs/  
  2. [root@fastdfs fdfs]# ll  
  3. 总用量 20  
  4. -rw-r--r--. 1 root root 1461 4月  11 04:10 client.conf.sample  
  5. -rw-r--r--. 1 root root 7829 4月  11 04:10 storage.conf.sample  
  6. -rw-r--r--. 1 root root 7102 4月  11 04:10 tracker.conf.sample  
  7. [root@fastdfs fdfs]#   
       FastDFS一系列执行脚本如下,可以看到有上传文件脚本、下载文件脚本等等。

[html] view plain copy
  1. [root@fastdfs fdfs]# cd /usr/bin/ && ls | grep fdfs  
  2. fdfs_appender_test  
  3. fdfs_appender_test1  
  4. fdfs_append_file  
  5. fdfs_crc32  
  6. fdfs_delete_file  
  7. fdfs_download_file  
  8. fdfs_file_info  
  9. fdfs_monitor  
  10. fdfs_storaged  
  11. fdfs_test  
  12. fdfs_test1  
  13. fdfs_trackerd  
  14. fdfs_upload_appender  
  15. fdfs_upload_file  
  16. [root@fastdfs bin]#   
      3、因为FastDFS服务脚本设置的bin目录为/usr/local/bin/下,但是实际我们安装在了/u sr/bin/下面。所以我们需要修改FastDFS配置文件中的路径,也就是需要修改两个配置文件

     使用命令vim /etc/init.d/fdfs_storaged进入编辑模式,然后直接输入":",光标会定位到最后一行,在":"后输入"%s+/usr/local/bin+/usr/bin",如下图所示。输入完之后回车,会提示修改了7处。为了确保所有的/usr/local/bin都被替换了,我们可以再打开文件确认一下。

       接着修改第二个配置文件,我们使用命令vim /etc/init.d/fdfs_trackerd进入编辑模式,接着按照上面那样输入":%s+/usr/local/bin+/usr/bin "并按回车,同样会提醒我们修改了7处。



第十步:配置跟踪器

     1、进入到/etc/fdfs目录并且复制一份tracker.conf.sample并命名为tracker.conf,如下所示。

[html] view plain copy
  1. [root@fastdfs bin]# cd /etc/fdfs/  
  2. [root@fastdfs fdfs]# ll  
  3. 总用量 20  
  4. -rw-r--r--. 1 root root 1461 4月  11 04:10 client.conf.sample  
  5. -rw-r--r--. 1 root root 7829 4月  11 04:10 storage.conf.sample  
  6. -rw-r--r--. 1 root root 7102 4月  11 04:10 tracker.conf.sample  
  7. [root@fastdfs fdfs]# cp tracker.conf.sample tracker.conf  
  8. [root@fastdfs fdfs]#   
      2、使用命令vim /etc/fdfs/tracker.conf进入编辑模式,然后修改base_path的值为/fastdfs/tracker,如下图所示。

/
      3、我们在上图配置文件中配置的/fastdfs/tracker目前是不存在的,因此我们需要创建一下该目录

[html] view plain copy
  1. [root@fastdfs fdfs]# mkdir -p /fastdfs/tracker  
  2. [root@fastdfs fdfs]#   

      4、配置防火墙,放开tracker使用的端口22122,使用命令vim /etc/sysconfig/iptables进入编辑模式,添加一行内容-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT,如下图所示。

      5、重启防火墙

[html] view plain copy
  1. [root@fastdfs fdfs]# service iptables restart  
  2. iptables:将链设置为政策 ACCEPT:filter                    [确定]  
  3. iptables:清除防火墙规则:                                 [确定]  
  4. iptables:正在卸载模块:                                   [确定]  
  5. iptables:应用防火墙规则:                                 [确定]  
  6. [root@fastdfs fdfs]#   
      6、在启动tracker之前,/fastdfs/tracker目录下是没有任何文件的,如下所示
[html] view plain copy
  1. [root@fastdfs tracker]# cd /fastdfs/tracker/ && ll  
  2. 总用量 0  
  3. [root@fastdfs tracker]#   
       启动tracker,启动完之后,可以看到这个目录下多了两个目录data和logs。如下所示。

[html] view plain copy
  1. [root@fastdfs tracker]# /etc/init.d/fdfs_trackerd start   
  2. Starting FastDFS tracker server:   
  3. [root@fastdfs tracker]# cd /fastdfs/tracker/ && ll  
  4. 总用量 8  
  5. drwxr-xr-x. 2 root root 4096 4月  11 05:01 data  
  6. drwxr-xr-x. 2 root root 4096 4月  11 05:01 logs  
  7. [root@fastdfs tracker]#   
      7、设置开机自启动,在rc.local文件中添加/etc/init.d/fdfs_trackerd start,如下所示。

[html] view plain copy
  1. [root@fastdfs tracker]# vim /etc/rc.d/rc.local  
  2.   
  3. #!/bin/sh  
  4. #  
  5. # This script will be executed *after* all the other init scripts.  
  6. # You can put your own initialization stuff in here if you don"t  
  7. # want to do the full Sys V style init stuff.  
  8.   
  9. touch /var/lock/subsys/local  
  10. /etc/init.d/fdfs_trackerd start  
第十一步:配置FastDFS存储

     1、进入/etc/fdfs目录,复制一份storage.conf.sample文件并命名为storage.conf,如下所示。

[html] view plain copy
  1. [root@fastdfs tracker]# cd /etc/fdfs/  
  2. [root@fastdfs fdfs]# ll  
  3. 总用量 28  
  4. -rw-r--r--. 1 root root 1461 4月  11 04:10 client.conf.sample  
  5. -rw-r--r--. 1 root root 7829 4月  11 04:10 storage.conf.sample  
  6. -rw-r--r--. 1 root root 7098 4月  11 04:45 tracker.conf  
  7. -rw-r--r--. 1 root root 7102 4月  11 04:10 tracker.conf.sample  
  8. [root@fastdfs fdfs]# cp storage.conf.sample storage.conf  
  9. [root@fastdfs fdfs]# ll  
  10. 总用量 36  
  11. -rw-r--r--. 1 root root 1461 4月  11 04:10 client.conf.sample  
  12. -rw-r--r--. 1 root root 7829 4月  11 05:07 storage.conf  
  13. -rw-r--r--. 1 root root 7829 4月  11 04:10 storage.conf.sample  
  14. -rw-r--r--. 1 root root 7098 4月  11 04:45 tracker.conf  
  15. -rw-r--r--. 1 root root 7102 4月  11 04:10 tracker.conf.sample  
  16. [root@fastdfs fdfs]#  
     2、修改storage.conf文件 ,我们使用命令vim /etc/fdfs/storage.conf进入编辑模式,对以下四项进行修改,192.168.156.13是我的虚拟机的IP,大家根据自己虚拟机的IP自行设置。

[html] view plain copy
  1. base_path=/fastdfs/storage  
  2. store_path0=/fastdfs/storage  
  3. tracker_server=192.168.156.13:22122  
  4. http.server_port=8888  
      3、创建存储目录,如下所示。

[html] view plain copy
  1. [root@fastdfs fdfs]# mkdir -p /fastdfs/storage  
  2. [root@fastdfs fdfs]#   
     4、配置防火墙,允许外界访问storage的默认端口23000,如下所示。

[html] view plain copy
  1. [root@fastdfs fdfs]# vim /etc/sysconfig/iptables  
  2.   
  3. # Firewall configuration written by system-config-firewall  
  4. # Manual customization of this file is not recommended.  
  5. *filter  
  6. :INPUT ACCEPT [0:0]  
  7. :FORWARD ACCEPT [0:0]  
  8. :OUTPUT ACCEPT [0:0]  
  9. -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  
  10. -A INPUT -p icmp -j ACCEPT  
  11. -A INPUT -i lo -j ACCEPT  
  12. -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT  
  13. -A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT  
  14. -A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT  
  15. -A INPUT -j REJECT --reject-with icmp-host-prohibited  
  16. -A FORWARD -j REJECT --reject-with icmp-host-prohibited  
  17. COMMIT  
       添加完之后,重启防火墙,如下所示。

[html] view plain copy
  1. [root@fastdfs fdfs]# service iptables restart  
  2. iptables:将链设置为政策 ACCEPT:filter                    [确定]  
  3. iptables:清除防火墙规则:                                 [确定]  
  4. iptables:正在卸载模块:                                   [确定]  
  5. iptables:应用防火墙规则:                                 [确定]  
  6. [root@fastdfs fdfs]#   
       5、在启动storage之前,/fastdbf/storage目录下是没有任何文件的

[html] view plain copy
  1. [root@fastdfs fdfs]# cd /fastdfs/storage/ && ll  
  2. 总用量 0  
  3. [root@fastdfs storage]#   
       启动storage,启动后再看/fastdfs/storage目录,可以看到多了data和logs。

[html] view plain copy
  1. [root@fastdfs storage]# /etc/init.d/fdfs_storaged start  
  2. Starting FastDFS storage server:   
  3. [root@fastdfs storage]# cd /fastdfs/storage/ && ll  
  4. 总用量 8  
  5. drwxr-xr-x. 68 root root 4096 4月  11 05:21 data  
  6. drwxr-xr-x.  2 root root 4096 4月  11 05:20 logs  
  7. [root@fastdfs storage]#  
      6、查看FastDFS tracker和storage 是否启动成功,当看到如下所示信息时说明都启动成功了。

[html] view plain copy
  1. [root@fastdfs storage]# ps -ef | grep fdfs  
  2. root       2124      1  0 05:01 ?        00:00:00 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf  
  3. root       2228      1  0 05:21 ?        00:00:00 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf  
  4. root       2238   1360  0 05:22 pts/0    00:00:00 grep fdfs  
  5. [root@fastdfs storage]#  
      7、我们进入到 /fastdfs/storage/data/目录下,可以看到两级共256*256个目录,每级都是从00到FF,如下只是列出了第一级的目录,点进去每个目录都还有00到FF共256个目录。

[html] view plain copy
  1. [root@fastdfs storage]# cd /fastdfs/storage/data/ && ls  
  2. 00  09  12  1B  24  2D  36  3F  48  51  5A  63  6C  75  7E  87  90  99  A2  AB  B4  BD  C6  CF  D8  E1  EA  F3  FC  
  3. 01  0A  13  1C  25  2E  37  40  49  52  5B  64  6D  76  7F  88  91  9A
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。