当前位置: 澳门新濠3559 > 服务器运维 > 正文

PATH=/etc/fdfs  ---配置文件路径,FastDFS需要在Lin

时间:2019-11-08 03:17来源:服务器运维
搭建单机版的法斯特DFS服务器,搭建单机版fastdfs 是因为法斯特DFS集群搭建极其复杂,对于中期学习法斯特DFS来讲,搭建个单机版的作为入门更为实际一些。 首先步:搭建虚构情况  

搭建单机版的法斯特DFS服务器,搭建单机版fastdfs

是因为法斯特DFS集群搭建极其复杂,对于中期学习法斯特DFS来讲,搭建个单机版的作为入门更为实际一些。

首先步:搭建虚构情况

        法斯特DFS必要在Linux系统上安装,我们平日采纳的都以Windows系统,这样就要求有虚构情况,作者这里运用Vmware12创办设想机,关于设想机最小化的安装大家能够参照:

其次步:配置静态IP並且要保管能上网

       大家可以参照:

第三步:安装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. [[email protected] ~]# mkdir /usr/local/software  
  2. [[email protected] ~]#  

       下边大家把须求运用的安装包都上传到/usr/local/software目录下,大家得以利用XShell和Xftp5相结合来平价的扩充上传下载操作,大家可以参照他事他说加以侦察 install lrzsz,安装完事后,rz代表上传,sz 文件表示下载。

        我们能够到

[html] view plain copy

  1. [[email protected] 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. [[email protected] software]#   

第六步:安装zip和unzip命令

        由于解压.zip结尾的文书必要用到unzip命令,因而大家需求安装,安装命令是yum install zip unzip

第七步:安装libfastcommon

       1、解压

[html] view plain copy

  1. [[email protected] software]# unzip libfastcommon-master.zip -d /usr/local/fast/  

       2、步入目录 [html] view plain copy

  1. [[email protected] software]# cd /usr/local/fast/libfastcommon-master/  
  2. [[email protected] 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. [[email protected] libfastcommon-master]#  

      3、编译 [html] view plain copy

  1. [[email protected] libfastcommon-master]# ./make.sh  

      4、安装 [html] view plain copy

  1. [[email protected] libfastcommon-master]# ./make.sh install  

 第八步:创设软链接

       法斯特DFS主程序设置的目录为/usr/local/lib/,所以咱们供给创制/ usr/lib64/下的局地主干试行顺序的软连接文件。如下所示。

[html] view plain copy

  1. [[email protected] libfastcommon-master]# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so  
  2. [[email protected] libfastcommon-master]# ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so  
  3. [[email protected] libfastcommon-master]# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so  
  4. [[email protected] 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. [[email protected] fast]# cd /usr/local/software/  
  2. [[email protected] 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. [[email protected] software]# tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/  

       2、编写翻译安装 [html] view plain copy

  1. [[email protected] software]# cd /usr/local/fast/FastDFS/  
  2. [[email protected] FastDFS]# ./make.sh  
  3. [[email protected] FastDFS]# ./make.sh install  

      安装完后,服务脚本地方如下 [html] view plain copy

  1. [[email protected] FastDFS]# cd /etc/init.d/ && ls | grep fdfs  
  2. fdfs_storaged  
  3. fdfs_trackerd  
  4. [[email protected] init.d]#  

       配置文件地方如下: [html] view plain copy

  1. [[email protected] init.d]# cd /etc/fdfs/  
  2. [[email protected] 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. [[email protected] fdfs]#   

       法斯特DFS生龙活虎雨后玉兰片履行脚本如下,可以见到有上传文件脚本、下载文件脚本等等。 [html] view plain copy

  1. [[email protected] 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. [[email protected] bin]#   

      3、因为法斯特DFS服务脚本设置的bin目录为/usr/local/bin/下,不过实际上大家设置在了/u sr/bin/下边。所以大家要求改革法斯特DFS配置文件中的路线,也正是索要校正四个布局文件

     使用命令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. [[email protected] bin]# cd /etc/fdfs/  
  2. [[email protected] 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. [[email protected] fdfs]# cp tracker.conf.sample tracker.conf  
  8. [[email protected] fdfs]#   

      2、使用命令vim /etc/fdfs/tracker.conf走入编辑格局,然后修改base_path的值为/fastdfs/tracker,如下图所示。

/
      3、大家在上海体育场地配置文件中配备的/fastdfs/tracker近些日子是一纸空文的,因而大家须要创立一下该目录

[html] view plain copy

  1. [[email protected] fdfs]# mkdir -p /fastdfs/tracker  
  2. [[email protected] 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. [[email protected] fdfs]# service iptables restart  
  2. iptables:将链设置为政策 ACCEPT:filter                    [确定]  
  3. iptables:消亡防火墙准则:                                 [确定]  
  4. iptables:正在卸载模块:                                   [确定]  
  5. iptables:应用防火墙法规:                                 [确定]  
  6. [[email protected] fdfs]#   

      6、在运行tracker此前,/fastdfs/tracker目录下是未曾其余祖父文的,如下所示
[html] view plain copy

  1. [[email protected] tracker]# cd /fastdfs/tracker/ && ll  
  2. 总用量 0  
  3. [[email protected] tracker]#   

       运营tracker,运营完之后,能够看出那一个目录下多了八个目录data和logs。如下所示。 [html] view plain copy

  1. [[email protected] tracker]# /etc/init.d/fdfs_trackerd start   
  2. Starting FastDFS tracker server:   
  3. [[email protected] 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. [[email protected] tracker]#   

      7、设置开机自运维,在rc.local文件中加多/etc/init.d/fdfs_trackerd start,如下所示。 [html] view plain copy

  1. [[email protected] 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  

第十六步:配置法斯特DFS存款和储蓄

     1、步入/etc/fdfs目录,复制风流浪漫份storage.conf.sample文件并取名字为storage.conf,如下所示。

[html] view plain copy

  1. [[email protected] tracker]# cd /etc/fdfs/  
  2. [[email protected] 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. [[email protected] fdfs]# cp storage.conf.sample storage.conf  
  9. [[email protected] 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. [[email protected] 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. [[email protected] fdfs]# mkdir -p /fastdfs/storage  
  2. [[email protected] fdfs]#   

     4、配置防火墙,允许外部访谈storage的私下认可端口23000,如下所示。 [html] view plain copy

  1. [[email protected] 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. [[email protected] fdfs]# service iptables restart  
  2. iptables:将链设置为政策 ACCEPT:filter                    [确定]  
  3. iptables:衰亡防火墙准绳:                                 [确定]  
  4. iptables:正在卸载模块:                                   [确定]  
  5. iptables:应用防火墙准绳:                                 [确定]  
  6. [[email protected] fdfs]#   

       5、在开发银行storage在此以前,/fastdbf/storage目录下是绝非其余文件的 [html] view plain copy

  1. [[email protected] fdfs]# cd /fastdfs/storage/ && ll  
  2. 总用量 0  
  3. [[email protected] storage]#   

       运行storage,运维后再看/fastdfs/storage目录,能够观察多了data和logs。 [html] view plain copy

  1. [[email protected] storage]# /etc/init.d/fdfs_storaged start  
  2. Starting FastDFS storage server:   
  3. [[email protected] 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. [[email protected] storage]#  

      6、查看FastDFS tracker和storage 是还是不是运营成功,当看到如下所示音信时表达都运行成功了。 [html] view plain copy

  1. [[email protected] 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. [[email protected] storage]#  

      7、我们进来到 /fastdfs/storage/data/目录下,能够看见两级共256*2五十四个目录,每级都以从00到FF,如下只是列出了第一流的目录,点进去每一个目录都还应该有00到FF共259个目录。 [html] view plain copy

  1. [[email protected] 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  A3  AC  B5  BE  C7  D0  D9  E2  EB  F4  FD  
  4. 02  0B  14  1D  26  2F  38  41  4A  53  5C  65  6E  77  80  89  92  9B  A4  AD  B6  BF  C8  D1  DA  E3  EC  F5  fdfs_storaged.pid  
  5. 03  0C  15  1E  27  30  39  42  4B  54  5D  66  6F  78  81  8A  93  9C  A5  AE  B7  C0  C9  D2  DB  E4  ED  F6  FE  
  6. 04  0D  16  1F  28  31  3A  43  4C  55  5E  67  70  79  82  8B  94  9D  A6  AF  B8  C1  CA  D3  DC  E5  EE  F7  FF  
  7. 05  0E  17  20  29  32  3B  44  4D  56  5F  68  71  7A  83  8C  95  9E  A7  B0  B9  C2  CB  D4  DD  E6  EF  F8  storage_stat.dat  
  8. 06  0F  18  21  2A  33  3C  45  4E  57  60  69  72  7B  84  8D  96  9F  A8  B1  BA  C3  CC  D5  DE  E7  F0  F9  sync  
  9. 07  10  19  22  2B  34  3D  46  4F  58  61  6A  73  7C  85  8E  97  A0  A9  B2  BB  C4  CD  D6  DF  E8  F1  FA  
  10. 08  11  1A  23  2C  35  3E  47  50  59  62  6B  74  7D  86  8F  98  A1  AA  B3  BC  C5  CE  D7  E0  E9  F2  FB  
  11. [[email protected] data]#   

     8、设置storage开机自运维,增加豆蔻梢头行/etc/init.d/fdfs_storaged start,如下所示。 [html] view plain copy

  1. [[email protected] data]# vim /etc/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  
  11. /etc/init.d/fdfs_storaged start  

第十四步:测验图片上传

      1、走入到/etc/fdfs目录下并复制风流倜傥份client.conf.sample并更名叫client.conf,如下所示。

[html] view plain copy

  1. [[email protected] data]# cd /etc/fdfs  
  2. [[email protected] fdfs]# ll  
  3. 总用量 36  
  4. -rw-r--r--. 1 root root 1461 4月  11 04:10 client.conf.sample  
  5. -rw-r--r--. 1 root root 7820 4月  11 05:12 storage.conf  
  6. -rw-r--r--. 1 root root 7829 4月  11 04:10 storage.conf.sample  
  7. -rw-r--r--. 1 root root 7098 4月  11 04:45 tracker.conf  
  8. -rw-r--r--. 1 root root 7102 4月  11 04:10 tracker.conf.sample  
  9. [[email protected] fdfs]# cp client.conf.sample client.conf  
  10. [[email protected] fdfs]# ll  
  11. 总用量 40  
  12. -rw-r--r--. 1 root root 1461 4月  11 05:40 client.conf  
  13. -rw-r--r--. 1 root root 1461 4月  11 04:10 client.conf.sample  
  14. -rw-r--r--. 1 root root 7820 4月  11 05:12 storage.conf  
  15. -rw-r--r--. 1 root root 7829 4月  11 04:10 storage.conf.sample  
  16. -rw-r--r--. 1 root root 7098 4月  11 04:45 tracker.conf  
  17. -rw-r--r--. 1 root root 7102 4月  11 04:10 tracker.conf.sample  
  18. [[email protected] fdfs]#   

     2、使用命令vim /etc/fdfs/client.conf踏向编辑情势并改正如下两项内容,如下所示。 [html] view plain copy

  1. base_path=/fastdfs/tracker  
  2. tracker_server=192.168.156.13:22122  

     3、我们找到命令的剧本地点,并且利用命令,举办文件的上传。 [html] view plain copy

  1. [[email protected] bin]# 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. [[email protected] bin]#   

       下边采纳fdfs_upload_file脚本举办文件上传操作,如下所示。能够看出曾经上传成功了,重返的是图片的保存地点:group1/M00/00/00/wKicDVjr_ayAE4VVAAHk-VzqZ6w020.jpg [html] view plain copy

  1. [[email protected] bin]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/3.jpg  
  2. group1/M00/00/00/wKicDVjr_ayAE4VVAAHk-VzqZ6w020.jpg  
  3. [[email protected] bin]#  

第十七步:法斯特DFS与nginx相结合

     1、先安装nginx,大家能够参照他事他说加以考查

     2、安装fastdfs-nginxmodule_v1.16.tar.gz(fast与nginx相结合的模块安装包卡塔尔, 走入 /usr/local/software目录并解压,如下所示。

[html] view plain copy

  1. [[email protected] nginx-1.6.2]# cd /usr/local/software/  
  2. [[email protected] software]# tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast/  
  3. fastdfs-nginx-module/  
  4. fastdfs-nginx-module/src/  
  5. fastdfs-nginx-module/src/ngx_http_fastdfs_module.c  
  6. fastdfs-nginx-module/src/mod_fastdfs.conf  
  7. fastdfs-nginx-module/src/config  
  8. fastdfs-nginx-module/src/common.h  
  9. fastdfs-nginx-module/src/common.c  
  10. fastdfs-nginx-module/INSTALL  
  11. fastdfs-nginx-module/HISTORY  
  12. [[email protected] software]#  

     3、步向到/usr/local/fast目录下能够看来解压的fastdfs-nginx-module目录,然后走入到fastdfs-nginx-module/src/目录下,能够看看config文件。 [html] view plain copy

  1. [[email protected] software]# cd /usr/local/fast/  
  2. [[email protected] fast]# ll  
  3. 总用量 12  
  4. drwxr-xr-x. 10 8980 users 4096 4月  11 04:10 FastDFS  
  5. drwxrwxr-x.  3  500   500 4096 5月   4 2014 fastdfs-nginx-module  
  6. drwxr-xr-x.  4 root root  4096 4月  11 03:30 libfastcommon-master  
  7. [[email protected] fast]# cd fastdfs-nginx-module/src/  
  8. [[email protected] src]# ll  
  9. 总用量 76  
  10. -rw-rw-r--. 1 500 500 33207 8月  30 2013 common.c  
  11. -rw-rw-r--. 1 500 500  3479 1月   3 2012 common.h  
  12. -rw-rw-r--. 1 500 500   447 11月  4 2010 config  
  13. -rw-rw-r--. 1 500 500  3679 3月  30 2013 mod_fastdfs.conf  
  14. -rw-rw-r--. 1 500 500 28542 5月   4 2014 ngx_http_fastdfs_module.c  
  15. [[email protected] src]#   

       校勘该conf文件,大家把文件的第四行安排中的/usr/local/include都改为/usr/include,共两处。

      4、fastdfs与nginx进行组合,由于我们刚刚安装过nginx了,因而在/usr/local目录下已经成形了三个nginx目录了,如下图所示。

       为了将nginx与fastdfs相结合,我们先把那么些nginx目录删除掉,如下图所示,能够见到曾经未有nginx目录了。

       步入到nginx-1.6.2/目录下并实践配置和编写翻译安装,如下所示。

[html] view plain copy

  1. [[email protected] local]# cd nginx-1.6.2/  
  2. [[email protected] nginx-1.6.2]# ./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src/  
  3. [[email protected] nginx-1.6.2]# make && make install  

       复制fastdfs-nginx-module中的配置文件,到/etc/fdfs目录中,如下所示。 [html] view plain copy

  1. [[email protected] fdfs]# cd /usr/local/fast/fastdfs-nginx-module/src/  
  2. [[email protected] src]# ll  
  3. 总用量 76  
  4. -rw-rw-r--. 1 500 500 33207 8月  30 2013 common.c  
  5. -rw-rw-r--. 1 500 500  3479 1月   3 2012 common.h  
  6. -rw-rw-r--. 1 500 500   435 4月  11 06:09 config  
  7. -rw-rw-r--. 1 500 500  3679 3月  30 2013 mod_fastdfs.conf  
  8. -rw-rw-r--. 1 500 500 28542 5月   4 2014 ngx_http_fastdfs_module.c  
  9. [[email protected] src]# cp /usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/  
  10. [[email protected] src]#   

        大家到 /etc/fdfs/ 目录下,改进我们刚copy过来的mod_fastdfs.conf 文件,必要改善的项如下,此中第风度翩翩项是过期时间长度,第三项是允许外部通过http方式访谈财富。 [html] view plain copy

  1. connect_timeout=10  
  2. tracker_server=192.168.156.13:22122  
  3. url_have_group_name = true  
  4. store_path0=/fastdfs/storage  

        复制法斯特DFS里的2个公文,到/etc/fdfs目录中,如下所示。 [html] view plain copy

  1. [[email protected] fdfs]# cd /usr/local/fast/FastDFS/conf/  
  2. [[email protected] conf]# ll  
  3. 总用量 84  
  4. -rw-r--r--. 1 8980 users 23981 12月  2 2014 anti-steal.jpg  
  5. -rw-r--r--. 1 8980 users  1461 12月  2 2014 client.conf  
  6. -rw-r--r--. 1 8980 users   858 12月  2 2014 http.conf  
  7. -rw-r--r--. 1 8980 users 31172 12月  2 2014 mime.types  
  8. -rw-r--r--. 1 8980 users  7829 12月  2 2014 storage.conf  
  9. -rw-r--r--. 1 8980 users   105 12月  2 2014 storage_ids.conf  
  10. -rw-r--r--. 1 8980 users  7102 12月  2 2014 tracker.conf  
  11. [[email protected] conf]# cp http.conf mime.types /etc/fdfs/  
  12. [[email protected] conf]#   

       创造二个软连接,在/fastdfs/storage文件存储目录下开创软连接,将其链接到实际贮存数据 的目录,如下所示。 [html] view plain copy

  1. [[email protected] conf]# ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00  
  2. [[email protected] conf]#   

       步入到/usr/local/nginx/conf/目录下,修正nginx.conf文件,如下图所示。

        改革的源委如下图示

        能够直接复制下边的开始和结果。

[html] view plain copy

  1. listen       8888;  
  2.   
  3. location ~/group([0-9])/M00 {   
  4.     ngx_fastdfs_module;  
  5. }  

       设置nginx开机自运营,那样下一次重启设备之后,tracker、storage、nginx都活动运转了,直接就足以接收服务,如下所示。

[html] view plain copy

  1. [[email protected] ~]# 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  
  11. /etc/init.d/fdfs_storaged start  
  12. /usr/local/nginx/sbin/nginx  

       运营nginx,如下所示。

[html] view plain copy

  1. [[email protected] conf]# /usr/local/nginx/sbin/nginx   
  2. ngx_http_fastdfs_set pid=6809  
  3. [[email protected] conf]#   

      5、在经过8888端口访谈图片在此以前先配备下防火墙,允许外部访问8888端口,增加的生机勃勃行是-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT,如下图所示。

      配置完防火墙后重启防火墙

[html] view plain copy

  1. [[email protected] conf]# service iptables restart  
  2. iptables:将链设置为政策 ACCEPT:filter                    [确定]  
  3. iptables:覆灭防火墙法规:                                 [确定]  
  4. iptables:正在卸载模块:                                   [确定]  
  5. iptables:应用防火墙法规:                                 [确定]  
  6. [[email protected] conf]#   

      6、未来大家便得以通过http的不二秘诀访谈大家刚刚上传的图样了(大家刚刚上传图片重回的地点是group1/M00/00/00/wKicDVjr_ayAE4VVAAHk-VzqZ6w020.jpg卡塔 尔(阿拉伯语:قطر‎,如下图所示。

     至此,三个单机版的法斯特DFS便搭建完成了!!

意气风发、在装置FastDFS之前必得先安装libevent,安装libevent步骤如下:

FastDFS_v5.05安装配备

在新的服务器上安装了法斯特DFS_v5.05,相相比法斯特DFSV3.02依然有广大生成,现将设置配备进程记录下,供我们参谋,出于安全着想,当中提到到IP地址之处,随意用了八个IP202.98.27.31,在访谈量非常的小景况下,将tracker和storage都布署在雷同台服务器上,后期遵照业务须要张开扩充:

1、软件下载:
wget
wget
wget
wget
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz
wget

2、libfastcommon安装:
cp V1.0.7.tar.gz /usr/local/
tar -zxvf V1.0.7.tar.gz
cd libfastcommon-1.0.7
./make.sh
./make.sh install

libfastcommon.so暗中认可安装到了/usr/lib64/libfastcommon.so,而法斯特DFS主程序设置的lib目录是/usr/local/lib,所以设置软连接
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

3、安装FastDFS:
(1)tar -zxvf V5.05.tar.gz -C /usr/local
cd /usr/local/fastdfs-5.05/

./make.sh
./make.sh install
cd /etc/fdfs

(2卡塔尔国配置文件设置:
cp tracker.conf.sample tracker.conf
cp storage.conf.sample storage.conf
cp client.conf.sample client.conf

详细设置见附属类小构件
tracker.conf配置中要更正的多少个项:
bind_addr=202.98.27.31
port=22122
http.server_port=8080

storage.conf配置中要修改的几个项:
group_name=group1
bind_addr=202.98.27.31
port=23000
base_path=/usrdata/fastdfs
store_path0=/usrdata/fastdfs
tracker_server=202.98.27.31:22122
http.server_port=8888

(3)启动
启动tracker storage.conf
fdfs_trackerd /etc/fdfs/tracker.conf
fdfs_storaged /etc/fdfs/storage.conf

4、安装nginx插件:
(1)安装
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
cd fastdfs-nginx-module/src/

(2卡塔 尔(英语:State of Qatar)config文件订正:
vi config

校正如下配置,作者这里原本是
CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
改成
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
以此是比较重视的,不然在nginx编写翻译的时候会报错的,小编看网络海人民广播广播台湾大学在设置nginx的fastdfs的插件报错,都是其后生可畏缘故,实际不是本子不匹配。

cp mod_fastdfs.conf /etc/fdfs

改善配置
group_name=group1
tracker_server=202.98.27.31:22122
store_path0=/usrdata/fastdfs
base_path=/usrdata/fastdfs
url_have_group_name = true

2)、配置文件服务器的软连接
ln -s /usrdata/fastdfs/data /usrdata/fastdfs/data/M00 (配置文件中stoage贮存数据的门路)

还要将以下四个文本复制到/etc/fdfs/
cp /usr/local/fastdfs-5.05/http.conf /etc/fdfs/
cp /usr/local/fastdfs-5.05/mime.types /etc/fdfs/

5、nginx安装:
在各样Storage服务器上安装Nginx

(1)pcre安装:
tar -zxvf pcre-8.36.tar.gz
cd pcre-8.36
./configure
make && make install
cd ../

ln -s /usr/local/lib/libpcre.so.1 /lib64/

(2)zlib安装:
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make && make install
cd ../

(3)nginx安装:
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0

./configure --prefix=/usr/local/nginx --add-module=/home/yq/fastdfs-nginx-module/src
make
make install

cd /usr/local/nginx/conf
vi nginx.conf

在server中添加

location /group1/M00{
root /usrdata/fastdfs/data;
ngx_fastdfs_module;
}

启动:
/usr/local/nginx/sbin/nginx

安装实现。

6、测验文件上传:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload benz.jpg

据书上说提示访问文件  

在新的服务器上安装了法斯特DFS_v5.05,绝比较FastDFSV3.02照旧有成都百货上千转移,现将安装配置进度记录下,供大家参照他事他说加以考察,出于安全...

Nginx相关软件

1.下载libevent:

wgethttps://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

nginx-1.4.7 下载地址: http://nginx.org/en/download.html#    能够荣升选用高版本

2.解压libevent:

tar -zxvpf libevent-2.0.21-stable.tar.gz

nginx肃清缓存模块 ngx_cache_purge-2.1

3.跻身解压目录:

cd libevent-2.0.21-stable

pcre-8.36 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz

4.点名安装目录:

./configure --prefix=/usr/local/libevent-2.0.21

zlib库

5.安装libevent:

make

make install

FastDFS相关软件

二、安装法斯特DFS步骤如下:

FastDFS_v5.04

FastDFS Nginx Module 1.16

libfastcommon

1.下载FastDFS:

wgethttp://fastdfs.googlecode.com/files/FastDFS_v4.06.tar.gz

拓扑图

2.解压FastDFS:

tar xvf FastDFS_v4.06.tar.gz

 

3.进来解压目录:

cd FastDFS

二:tracker的安装与配置

4.修正法斯特DFS的安装文件:

vi make.sh

TARGET_PREFIX=/usr/local/法斯特DFS  ---安装路径

TARGET_CONF_PATH=/etc/fdfs  ---配置文件路线

WITH_LINUX_SERVICE=1   ---是否为linux服务

1.安装

5.指定libevent的lib目录:

./make.sh C_INCLUDE_PATH=/usr/local/libevent-2.0.21/include LIBRARY_PATH=/usr/local/libevent-2.0.21/lib

以下操作是在 tracker 10.10.10.124上操作
透过rz工具,把软件上传到/usr/local/src目录下,若无rz工具,能够应用 yum -y install lrzsz 安装

6.安装FastDFS:

./make.sh install

[root@tracker src]# ls
FastDFS_v5.04.tar.gz
[root@tracker src]# tar xf FastDFS_v5.04.tar.gz
[root@tracker src]# cd FastDFS
[root@tracker FastDFS]# ll
总用量 132
drwxr-xr-x. 3 8980 users 4096 9月 21 22:14 client
drwxr-xr-x. 2 8980 users 4096 9月 21 22:14 common
drwxr-xr-x. 2 8980 users 4096 9月 21 22:14 conf
-rw-r--r--. 1 8980 users 35067 9月 21 22:14 COPYING-3_0.txt
-rw-r--r--. 1 8980 users 2802 9月 21 22:14 fastdfs.spec
-rw-r--r--. 1 8980 users 31224 9月 21 22:14 HISTORY
drwxr-xr-x. 2 8980 users 4096 9月 21 22:14 init.d
-rw-r--r--. 1 8980 users 7755 9月 21 22:14 INSTALL
-rwxr-xr-x. 1 8980 users 5735 9月 21 22:14 make.sh
drwxr-xr-x. 2 8980 users 4096 9月 21 22:14 php_client
-rw-r--r--. 1 8980 users 2380 9月 21 22:14 README.md
-rwxr-xr-x. 1 8980 users 1768 9月 21 22:14 restart.sh
-rwxr-xr-x. 1 8980 users 1680 9月 21 22:14 stop.sh
drwxr-xr-x. 4 8980 users 4096 9月 21 22:14 storage
drwxr-xr-x. 2 8980 users 4096 9月 21 22:14 test
drwxr-xr-x. 2 8980 users 4096 9月 21 22:14 tracker
[root@tracker FastDFS]# ./make.sh
实施make.sh 遭逢的不当

PATH=/etc/fdfs  ---配置文件路径,FastDFS需要在Linux系统上安装。7.设置软连接(不然编写翻译nginx时会出错)

ln -sv /usr/local/FastDFS/include/fastcommon /usr/local/include/fastcommon

ln -sv /usr/local/FastDFS/include/fastdfs /usr/local/include/fastdfs

ln -sv /usr/local/FastDFS/lib/libfastcommon.so /usr/local/lib/libfastcommon.so

ln -sv /usr/local/FastDFS/lib/libfastcommon.so.1 /usr/local/lib/libfastcommon.so.1

ln -sv /usr/local/FastDFS/lib/libfdfsclient.so /usr/local/lib/libfdfsclient.so

ln -sv /usr/local/FastDFS/lib/libfdfsclient.so.1 /usr/local/lib/libfdfsclient.so.1

[root@tracker FastDFS]# ./make.sh
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o ../common/fdfs_global.o ../common/fdfs_global.c -I../common -I/usr/include/fastcommon
../common/fdfs_global.c:20:20: 错误:logger.h:未有十一分文件或目录
在饱含自 ../common/fdfs_global.c:21 的文件中:
../common/fdfs_global.h:14:27: 错误:common_define.h:没有丰富文件或目录
../common/fdfs_global.h:16:29: 错误:connection_pool.h:未有十三分文件或目录
In file included from ../common/fdfs_global.c:21:
../common/fdfs_global.h:26: 错误:‘MAX_PATH_SIZE’未注明(不在函数内)
../common/fdfs_global.h:27: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_fdfs_澳门新濠3559,version’
../common/fdfs_global.h:28: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_use_connection_pool’
../common/fdfs_global.h:29: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_connection_pool’
../common/fdfs_global.c:23: 错误:‘DEFAULT_CONNECT_TIMEOUT’未申明(不在函数内)
../common/fdfs_global.c:24: 错误:‘DEFAULT_NETWORK_TIMEOUT’未申明(不在函数内)
../common/fdfs_global.c:26: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_fdfs_version’
../common/fdfs_global.c:27: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_use_connection_pool’
../common/fdfs_global.c:28: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_connection_pool’
../common/fdfs_global.c: 在函数‘fdfs_check_data_filename’中:
../common/fdfs_global.c:39: 警报:隐式注解函数‘logError’
../common/fdfs_global.c:45: 警示:隐式注脚函数‘IS_UPPER_HEX’
make: *** [../common/fdfs_global.o] 错误 1
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o ../common/fdfs_global.o ../common/fdfs_global.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon
../common/fdfs_global.c:20:20: 错误:logger.h:未有特别文件或目录
在含有自 ../common/fdfs_global.c:21 的文本中:
../common/fdfs_global.h:14:27: 错误:common_define.h:未有十一分文件或目录
../common/fdfs_global.h:16:29: 错误:connection_pool.h:没有十分文件或目录
In file included from ../common/fdfs_global.c:21:
../common/fdfs_global.h:26: 错误:‘MAX_PATH_SIZE’未表明(不在函数内)
../common/fdfs_global.h:27: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_fdfs_version’
../common/fdfs_global.h:28: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_use_connection_pool’
../common/fdfs_global.h:29: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_connection_pool’
../common/fdfs_global.c:23: 错误:‘DEFAULT_CONNECT_TIMEOUT’未注明(不在函数内)
../common/fdfs_global.c:24: 错误:‘DEFAULT_NETWORK_TIMEOUT’未申明(不在函数内)
../common/fdfs_global.c:26: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_fdfs_version’
../common/fdfs_global.c:27: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_use_connection_pool’
../common/fdfs_global.c:28: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_connection_pool’
../common/fdfs_global.c: 在函数‘fdfs_check_data_filename’中:
../common/fdfs_global.c:39: 警示:隐式评释函数‘logError’
../common/fdfs_global.c:45: 警示:隐式申明函数‘IS_UPPER_HEX’
make: *** [../common/fdfs_global.o] 错误 1
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o ../common/fdfs_global.o ../common/fdfs_global.c -I../common -I../tracker -I/usr/include/fastcommon
../common/fdfs_global.c:20:20: 错误:logger.h:未有特别文件或目录
在蕴藏自 ../common/fdfs_global.c:21 的文书中:
../common/fdfs_global.h:14:27: 错误:common_define.h:没有极度文件或目录
../common/fdfs_global.h:16:29: 错误:connection_pool.h:未有那些文件或目录
In file included from ../common/fdfs_global.c:21:
../common/fdfs_global.h:26: 错误:‘MAX_PATH_SIZE’未表明(不在函数内)
../common/fdfs_global.h:27: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_fdfs_version’
../common/fdfs_global.h:28: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_use_connection_pool’
../common/fdfs_global.h:29: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_connection_pool’
../common/fdfs_global.c:23: 错误:‘DEFAULT_CONNECT_TIMEOUT’未评释(不在函数内)
../common/fdfs_global.c:24: 错误:‘DEFAULT_NETWORK_TIMEOUT’未注解(不在函数内)
../common/fdfs_global.c:26: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_fdfs_version’
../common/fdfs_global.c:27: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_use_connection_pool’
../common/fdfs_global.c:28: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_connection_pool’
../common/fdfs_global.c: 在函数‘fdfs_check_data_filename’中:
../common/fdfs_global.c:39: 警报:隐式证明函数‘logError’
../common/fdfs_global.c:45: 警报:隐式申明函数‘IS_UPPER_HEX’
make: *** [../common/fdfs_global.o] 错误 1
看 源码目录下的INSTALL文件开掘,需求安装 libfastcommon

三、在装置Nginx在此之前,供给设置gcc、 openssl-devel、 pcre-devel和zlib-devel软件库,具体如下:

yum install gcc-c++

yum install openssl-devel

yum install pcre-devel

yum install zlib-devel

#step 1. download libfastcommon source package from github and install it,
the github address:

到如上的网址下载 libfastcommon实行安装,上传至服务器的src目录下

四、安装Nginx和fastdfs-nginx-module

wgethttp://nginx.org/download/nginx-1.6.0.tar.gz

wgethttp://fastdfs.googlecode.com/files/fastdfs-nginx-module_v1.15.tar.gz

将安装包文件上传到/usr/local中实行以下操作:

[root@tracker src]# unzip libfastcommon-master.zip
[root@tracker src]# cd libfastcommon-master
[root@tracker libfastcommon-master]# ls
HISTORY INSTALL libfastcommon.spec make.sh README src
[root@tracker libfastcommon-master]# ./make.sh
[root@tracker libfastcommon-master]# ./make.sh install
mkdir -p /usr/lib64
install -m 755 libfastcommon.so /usr/lib64
mkdir -p /usr/include/fastcommon
install -m 644 common_define.h hash.h chain.h logger.h base64.h shared_func.h pthread_func.h ini_file_reader.h _os_bits.h sockopt.h sched_thread.h http_func.h md5.h local_ip_func.h avl_tree.h ioevent.h ioevent_loop.h fast_task_queue.h fast_timer.h process_ctrl.h fast_mblock.h connection_pool.h /usr/include/fastcommon
至此libfastcommon安装到位。
再回到 法斯特DFS目录下来安装法斯特DFS

1.跻身文件目录:

cd /usr/local

[root@tracker libfastcommon-master]# cd ../FastDFS
[root@tracker FastDFS]# ./make.sh
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o ../common/fdfs_global.o ../common/fdfs_global.c -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o tracker_proto.o tracker_proto.c -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o tracker_mem.o tracker_mem.c -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o tracker_service.o tracker_service.c -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o tracker_status.o tracker_status.c -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o tracker_global.o tracker_global.c -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o tracker_func.o tracker_func.c -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o fdfs_shared_func.o fdfs_shared_func.c -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o tracker_nio.o tracker_nio.c -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o tracker_relationship.o tracker_relationship.c -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o tracker_dump.o tracker_dump.c -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o ../common/linux_stack_trace.o ../common/linux_stack_trace.c -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -o fdfs_trackerd fdfs_trackerd.c ../common/fdfs_global.o tracker_proto.o tracker_mem.o tracker_service.o tracker_status.o tracker_global.o tracker_func.o fdfs_shared_func.o tracker_nio.o tracker_relationship.o tracker_dump.o ../common/linux_stack_trace.o -L/usr/local/lib -lpthread -ldl -rdynamic -lfastcommon -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o tracker_client_thread.o tracker_client_thread.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o storage_global.o storage_global.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o storage_func.o storage_func.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o storage_service.o storage_service.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o storage_sync.o storage_sync.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon
...
[root@tracker FastDFS]# ./make.sh install
mkdir -p /usr/bin
mkdir -p /etc/fdfs
cp -f fdfs_trackerd /usr/bin
if [ ! -f /etc/fdfs/tracker.conf.sample ]; then cp -f ../conf/tracker.conf /etc/fdfs/tracker.conf.sample; fi
mkdir -p /usr/bin
mkdir -p /etc/fdfs
cp -f fdfs_storaged /usr/bin
if [ ! -f /etc/fdfs/storage.conf.sample ]; then cp -f ../conf/storage.conf /etc/fdfs/storage.conf.sample; fi
mkdir -p /usr/bin
mkdir -p /etc/fdfs
mkdir -p /usr/lib64
cp -f fdfs_monitor fdfs_test fdfs_test1 fdfs_crc32 fdfs_upload_file fdfs_download_file fdfs_delete_file fdfs_file_info fdfs_appender_test fdfs_appender_test1 fdfs_append_file fdfs_upload_appender /usr/bin
if [ 0 -eq 1 ]; then cp -f libfdfsclient.a /usr/lib64; fi
if [ 1 -eq 1 ]; then cp -f libfdfsclient.so /usr/lib64; fi
mkdir -p /usr/include/fastdfs
cp -f ../common/fdfs_define.h ../common/fdfs_global.h ../common/mime_file_parser.h ../common/fdfs_http_shared.h ../tracker/tracker_types.h ../tracker/tracker_proto.h ../tracker/fdfs_shared_func.h ../storage/trunk_mgr/trunk_shared.h tracker_client.h storage_client.h storage_client1.h client_func.h client_global.h fdfs_client.h /usr/include/fastdfs
if [ ! -f /etc/fdfs/client.conf.sample ]; then cp -f ../conf/client.conf /etc/fdfs/client.conf.sample; fi
至此法斯特DFS在 tracker上安装到位,全数的可执行文件位于 /usr/bin 目录下,以fdfs初阶的文本

2.解压安装包:

tar -zxv -f nginx-1.6.0.tar.gz

tar -xvf fastdfs-nginx-module_v1.15.tar.gz

[root@tracker FastDFS]# ll /usr/bin/fd*
-rwxr-xr-x. 1 root root 257631 10月 28 11:29 /usr/bin/fdfs_appender_test
-rwxr-xr-x. 1 root root 257424 10月 28 11:29 /usr/bin/fdfs_appender_test1
-rwxr-xr-x. 1 root root 247664 10月 28 11:29 /usr/bin/fdfs_append_file
-rwxr-xr-x. 1 root root 247340 10月 28 11:29 /usr/bin/fdfs_crc32
-rwxr-xr-x. 1 root root 247723 10月 28 11:29 /usr/bin/fdfs_delete_file
-rwxr-xr-x. 1 root root 248850 10月 28 11:29 /usr/bin/fdfs_download_file
-rwxr-xr-x. 1 root root 248584 10月 28 11:29 /usr/bin/fdfs_file_info
-rwxr-xr-x. 1 root root 260848 10月 28 11:29 /usr/bin/fdfs_monitor
-rwxr-xr-x. 1 root root 886610 10月 28 11:29 /usr/bin/fdfs_storaged
-rwxr-xr-x. 1 root root 264031 10月 28 11:29 /usr/bin/fdfs_test
-rwxr-xr-x. 1 root root 263208 10月 28 11:29 /usr/bin/fdfs_test1
-rwxr-xr-x. 1 root root 374872 10月 28 11:29 /usr/bin/fdfs_trackerd
-rwxr-xr-x. 1 root root 248730 10月 28 11:29 /usr/bin/fdfs_upload_appender
-rwxr-xr-x. 1 root root 249676 10月 28 11:29 /usr/bin/fdfs_upload_file
[root@tracker FastDFS]#
持有的布署文件在 /etc/fdfs/ 目录下

3.改变安装包目录名称:

mv nginx-1.6.0 nginx

[root@tracker FastDFS]# ll /etc/fdfs/
总用量 20
-rw-r--r--. 1 root root 1461 10月 28 11:29 client.conf.sample
-rw-r--r--. 1 root root 7647 10月 28 11:29 storage.conf.sample
-rw-r--r--. 1 root root 7102 10月 28 11:29 tracker.conf.sample
[root@tracker FastDFS]#

4.跻身安装包目录:

cd /usr/local/nginx

到现在截止 法斯特DFS在tracker 上安装完毕,以下进行布局

5.安顿安装目录:

./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf  --add-module=/usr/local/fastdfs-nginx-module/src

2.配置:

6.安装Nginx:

make

make install

走入到 /etc/fdfs 目录下,复制模版文件到 tracker.conf

7.纠正防火墙:

vi + /etc/sysconfig/iptables

[root@tracker fdfs]# cp tracker.conf.sample tracker.conf
创办数据文件和日志文件目录

8.增多配置项

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

[root@tracker fdfs]# mkdir -pv /data/fastdfs/tracker
mkdir: 已开立目录 "/data"
mkdir: 已创立目录 "/data/fastdfs"
mkdir: 已成立目录 "/data/fastdfs/tracker"
编辑 tracker.conf 文件,测量试验的时候只须求校正以下参数就可以

9.重启防火墙:

service iptables restart

disabled=false #启用配置文件
port=22122 #安装 tracker 的端口号
base_path=/data/fastdfs/tracker #安装 tracker 的数据文件和日志目录(需预先创制卡塔 尔(阿拉伯语:قطر‎
http.server_port=8080 #设置 http 端口号
这个http.server_port=8080 指的是在tracker服务器上运营http服务进度,如:apache恐怕nginx 运行时所监听的端口,那么些就好像是能够不用管的,因为tracker本人就从未设置http服务

10.将libfastcommon.so、libfastcommon.so.1、libfdfsclient.so、libfdfsclient.so.1复制到/usr/lib,不然nginx运营会报错。

Nginx的操作:

启动:

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

或者

cd /usr/local/nginx/sbin

./nginx

假诺开发银行找不到

error while loading shared libraries: libfdfsclient.so: cannot open shared object file: No such file or directory

error while loading shared libraries: libfastcommon.so: cannot open shared object file: No such file or directory

请使用以下软连接

[root@localhost lib]# ln -s /usr/local/FastDFS/lib/libfastcommon.so /usr/lib/libfastcommon.so

[root@localhost lib]# ln -s /usr/local/FastDFS/lib/libfastcommon.so /usr/lib64/libfastcommon.so

[root@localhost lib]# ln -s /usr/local/FastDFS/lib/libfastcommon.so /usr/lib64/libfastcommon.so

[root@localhost lib]# ln -s /usr/local/FastDFS/lib/libfdfsclient.so /usr/lib/libfdfsclient.so

[root@localhost lib]# ln -s /usr/local/FastDFS/lib/libfdfsclient.so /usr/lib64/libfdfsclient.so

结束服务:

#查询nginx主进度号

ps -ef | grep nginx

#悬停进度

kill -QUIT 主进度号

#高效结束

kill -TERM 主进度号

#强制甘休

pkill -9 nginx

重启:

/usr/local/nginx/sbin/nginx -s reload

3.运行:

五、配置tracker server:

间接行使 fdfs_trackerd 来运维tracker过程,然后采纳netstat 查看端口是还是不是起来。

1. vi /etc/fdfs/tracker.conf

bind_addr=192.168.227.128

base_path=/home/tracker/fastdfs

vi /etc/fdfs/client.conf

base_path=/home/tracker/fastdfs

tracker_server=192.168.20.200:22122

http.tracker_server_port=8080

[root@tracker fdfs]# fdfs_trackerd /etc/fdfs/tracker.conf restart
[root@tracker fdfs]# netstat -antp | grep trackerd
tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 14520/fdfs_trackerd
[root@tracker fdfs]#
也得以查阅日志看服务是或不是寻常运维
[root@tracker tracker]# cat /data/fastdfs/tracker/logs/trackerd.log
[2014-10-28 13:53:43] INFO - FastDFS v5.04, base_path=/data/fastdfs/tracker, run_by_group=, run_by_user=, connect_timeout=30s, network_timeout=60s, port=22122, bind_addr=, max_connections=256, accept_threads=1, work_threads=4, store_lookup=2, store_group=, store_server=0, store_path=0, reserved_storage_space=10.00%, download_server=0, allow_ip_count=-1, sync_log_buff_interval=10s, check_active_interval=120s, thread_stack_size=64 KB, storage_ip_changed_auto_adjust=1, storage_sync_file_max_delay=86400s, storage_sync_file_max_time=300s, use_trunk_file=0, slot_min_size=256, slot_max_size=16 MB, trunk_file_size=64 MB, trunk_create_file_advance=0, trunk_create_file_time_base=02:00, trunk_create_file_interval=86400, trunk_create_file_space_threshold=20 GB, trunk_init_check_occupying=0, trunk_init_reload_from_binlog=0, trunk_compress_binlog_min_interval=0, use_storage_id=0, id_type_in_filename=ip, storage_id_count=0, rotate_error_log=0, error_log_rotate_time=00:00, rotate_error_log_size=0, log_file_keep_days=0, store_slave_file_use_link=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s
[2014-10-28 13:53:43] INFO - local_host_ip_count: 2, 127.0.0.1 10.10.10.124

2.布局防火墙:

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 22122 -j

4.装置开机自动运维:

3.保留配置:

/etc/init.d/iptables save

[root@tracker tracker]# echo "/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart" >> /etc/rc.local
[root@tracker tracker]# cat /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
[root@tracker tracker]#
时至后天tracker上的装置与安顿甘休。

4. 启动 tracker

/usr/local/FastDFS/bin/fdfs_trackerd /etc/fdfs/tracker.conf

在运转时报错:

/usr/local/bin/fdfs_trackerd: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

施行上边包车型大巴一声令下就可以寻常运营:

echo '/usr/local/libevent-2.0.21/include/' >> /etc/ld.so.conf

echo '/usr/local/libevent-2.0.21/lib/' >> /etc/ld.so.conf

ldconfig

三:storagede 安装与安顿:

5. 查看监听程序:

netstat -ntpl | grep fdfs

1.安装:

6. 查看日志文件:

cat /home/tracker/fastdfs/logs/trackerd.log

以下操作是在 10.10.10.120 storage1上操作
行使上传 法斯特DFS_v5.04.tar.gz 和 libfastcommon-master.zip 至 storage服务器的/usr/local/src 目录下

7.加多开机运营命令行:

vim /etc/rc.d/rc.local

/usr/local/FastDFS/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

[root@server1 src]# rz
rz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.
Transferring FastDFS_v5.04.tar.gz...
100% 335 KB 335 KB/sec 00:00:01 0 Errors
[root@server1 src]# ls
FastDFS_v5.04.tar.gz
[root@server1 src]# rz
rz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.
Transferring libfastcommon-master.zip...
100% 95 KB 95 KB/sec 00:00:01 0 Errors
[root@server1 src]# ll
总用量 432
-rw-r--r-- 1 root root 343477 10月 27 09:26 FastDFS_v5.04.tar.gz
-rw-r--r-- 1 root root 97548 10月 28 11:14 libfastcommon-master.zip
[root@server1 src]#
解压安装 libfastcommon

六、配置storage server

[root@server1 src]# unzip libfastcommon-master.zip
[root@server1 libfastcommon-master]# ll
总用量 24
-rw-r--r-- 1 root root 2397 10月 26 11:53 HISTORY
-rw-r--r-- 1 root root 582 10月 26 11:53 INSTALL
-rw-r--r-- 1 root root 1341 10月 26 11:53 libfastcommon.spec
-rwxr-xr-x 1 root root 2151 10月 26 11:53 make.sh
-rw-r--r-- 1 root root 617 10月 26 11:53 README
drwxr-xr-x 2 root root 4096 10月 26 11:53 src
[root@server1 libfastcommon-master]# ./make.sh
cc -Wall -D_FILE_OFFSET_BITS=64 -g -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -fPIC -o hash.lo hash.c
cc -Wall -D_FILE_OFFSET_BITS=64 -g -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -fPIC -o chain.lo chain.c
cc -Wall -D_FILE_OFFSET_BITS=64 -g -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -fPIC -o shared_func.lo shared_func.c
cc -Wall -D_FILE_OFFSET_BITS=64 -g -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -fPIC -o ini_file_reader.lo ini_file_reader.c
cc -Wall -D_FILE_OFFSET_BITS=64 -g -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -fPIC -o logger.lo logger.c
cc -Wall -D_FILE_OFFSET_BITS=64 -g -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -fPIC -o sockopt.lo sockopt.c
cc -Wall -D_FILE_OFFSET_BITS=64 -g -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -fPIC -o base64.lo base64.c
...

1. vi /etc/fdfs/storage.conf

group_name=group1

bind_addr=192.168.227.130

base_path=/home/storage/fastdfs

store_path0=/home/storage/fastdfs

tracker_server=192.168.227.130:22122

http.server.port=80

r1 libfastcommon-master]# ./make.sh install
mkdir -p /usr/lib64
install -m 755 libfastcommon.so /usr/lib64
mkdir -p /usr/include/fastcommon
install -m 644 common_define.h hash.h chain.h logger.h base64.h shared_func.h pthread_func.h ini_file_reader.h _os_bits.h sockopt.h sched_thread.h http_func.h md5.h local_ip_func.h avl_tree.h ioevent.h ioevent_loop.h fast_task_queue.h fast_timer.h process_ctrl.h fast_mblock.h connection_pool.h /usr/include/fastcommon
解压安装 FastDFS_v5.04.tar.gz

2. cp /usr/local/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

[root@server1 src]# tar xf FastDFS_v5.04.tar.gz
[root@server1 src]# cd FastDFS
[root@server1 FastDFS]# ll
总用量 132
drwxr-xr-x 3 8980 users 4096 9月 21 22:14 client
drwxr-xr-x 2 8980 users 4096 9月 21 22:14 common
drwxr-xr-x 2 8980 users 4096 9月 21 22:14 conf
-rw-r--r-- 1 8980 users 35067 9月 21 22:14 COPYING-3_0.txt
-rw-r--r-- 1 8980 users 2802 9月 21 22:14 fastdfs.spec
-rw-r--r-- 1 8980 users 31224 9月 21 22:14 HISTORY
drwxr-xr-x 2 8980 users 4096 9月 21 22:14 init.d
-rw-r--r-- 1 8980 users 7755 9月 21 22:14 INSTALL
-rwxr-xr-x 1 8980 users 5735 9月 21 22:14 make.sh
drwxr-xr-x 2 8980 users 4096 9月 21 22:14 php_client
-rw-r--r-- 1 8980 users 2380 9月 21 22:14 README.md
-rwxr-xr-x 1 8980 users 1768 9月 21 22:14 restart.sh
-rwxr-xr-x 1 8980 users 1680 9月 21 22:14 stop.sh
drwxr-xr-x 4 8980 users 4096 9月 21 22:14 storage
drwxr-xr-x 2 8980 users 4096 9月 21 22:14 test
drwxr-xr-x 2 8980 users 4096 9月 21 22:14 tracker
[root@server1 FastDFS]#
[root@server1 FastDFS]# ./make.sh
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o ../common/fdfs_global.o ../common/fdfs_global.c -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o tracker_proto.o tracker_proto.c -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o tracker_mem.o tracker_mem.c -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o tracker_service.o tracker_service.c -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o tracker_status.o tracker_status.c -I../common -I/usr/include/fastcommon
...
[root@server1 FastDFS]# ./make.sh install
mkdir -p /usr/bin
mkdir -p /etc/fdfs
cp -f fdfs_trackerd /usr/bin
if [ ! -f /etc/fdfs/tracker.conf.sample ]; then cp -f ../conf/tracker.conf /etc/fdfs/tracker.conf.sample; fi
mkdir -p /usr/bin
mkdir -p /etc/fdfs
cp -f fdfs_storaged /usr/bin
if [ ! -f /etc/fdfs/storage.conf.sample ]; then cp -f ../conf/storage.conf /etc/fdfs/storage.conf.sample; fi
mkdir -p /usr/bin
mkdir -p /etc/fdfs
mkdir -p /usr/lib64
cp -f fdfs_monitor fdfs_test fdfs_test1 fdfs_crc32 fdfs_upload_file fdfs_download_file fdfs_delete_file fdfs_file_info fdfs_appender_test fdfs_appender_test1 fdfs_append_file fdfs_upload_appender /usr/bin
if [ 0 -eq 1 ]; then cp -f libfdfsclient.a /usr/lib64; fi
if [ 1 -eq 1 ]; then cp -f libfdfsclient.so /usr/lib64; fi
mkdir -p /usr/include/fastdfs
cp -f ../common/fdfs_define.h ../common/fdfs_global.h ../common/mime_file_parser.h ../common/fdfs_http_shared.h ../tracker/tracker_types.h ../tracker/tracker_proto.h ../tracker/fdfs_shared_func.h ../storage/trunk_mgr/trunk_shared.h tracker_client.h storage_client.h storage_client1.h client_func.h client_global.h fdfs_client.h /usr/include/fastdfs
if [ ! -f /etc/fdfs/client.conf.sample ]; then cp -f ../conf/client.conf /etc/fdfs/client.conf.sample; fi
设置到位后,可实行文件在/usr/bin/下以 fdfs 早先

3. vi /etc/fdfs/mod_fastdfs.conf

base_path=/home/storage1/fastdfs

group_name=group1

store_path0=/home/stroage1/fastdfs

tracker_server=192.168.227.128:22122

url_have_group_name = true

group_count = 0

[root@server1 FastDFS]# ll /usr/bin/fdfs_*
-rwxr-xr-x 1 root root 257631 10月 28 14:18 /usr/bin/fdfs_appender_test
-rwxr-xr-x 1 root root 257424 10月 28 14:18 /usr/bin/fdfs_appender_test1
-rwxr-xr-x 1 root root 247664 10月 28 14:18 /usr/bin/fdfs_append_file
-rwxr-xr-x 1 root root 247340 10月 28 14:18 /usr/bin/fdfs_crc32
-rwxr-xr-x 1 root root 247723 10月 28 14:18 /usr/bin/fdfs_delete_file
-rwxr-xr-x 1 root root 248850 10月 28 14:18 /usr/bin/fdfs_download_file
-rwxr-xr-x 1 root root 248584 10月 28 14:18 /usr/bin/fdfs_file_info
-rwxr-xr-x 1 root root 260848 10月 28 14:18 /usr/bin/fdfs_monitor
-rwxr-xr-x 1 root root 886610 10月 28 14:18 /usr/bin/fdfs_storaged
-rwxr-xr-x 1 root root 264031 10月 28 14:18 /usr/bin/fdfs_test
-rwxr-xr-x 1 root root 263208 10月 28 14:18 /usr/bin/fdfs_test1
-rwxr-xr-x 1 root root 374872 10月 28 14:18 /usr/bin/fdfs_trackerd
-rwxr-xr-x 1 root root 248730 10月 28 14:18 /usr/bin/fdfs_upload_appender
-rwxr-xr-x 1 root root 249676 10月 28 14:18 /usr/bin/fdfs_upload_file
[root@server1 FastDFS]#
布署文件在 /etc/fdfs 目录下

4. vi /usr/local/nginx/conf/nginx.conf

location /group1/M00 {

root /home/storage1/fastdfs/data;

ngx_fastdfs_module;

}

[root@server1 FastDFS]# ll /etc/fdfs/

5.安插防火墙:

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 23000 -j ACCEPT

总用量 20
-rw-r--r-- 1 root root 1461 10月 28 14:18 client.conf.sample
-rw-r--r-- 1 root root 7647 10月 28 14:18 storage.conf.sample
-rw-r--r-- 1 root root 7102 10月 28 14:18 tracker.conf.sample
[root@server1 FastDFS]#

6.封存配置:

/etc/init.d/iptables save

2.配置:

7.启动 storage

/usr/local/FastDFS/bin/fdfs_storaged /etc/fdfs/storage.conf

进入到 /etc/fdfs 目录下,复制/usr/local/src/FastDFS/conf/* 上边包车型大巴全数文件到当前目录下(/etc/fdfs)

8. 查看监听程序:

netstat -ntpl | grep fdfs

[root@server1 FastDFS]# cd /etc/fdfs/
[root@server1 fdfs]# cp /usr/local/src/FastDFS/conf/* .
[root@server1 fdfs]# ll
总用量 64
-rw-r--r-- 1 root root 1461 10月 29 14:33 client.conf
-rw-r--r-- 1 root root 858 10月 29 14:33 http.conf
-rw-r--r-- 1 root root 31172 10月 29 14:33 mime.types
-rw-r--r-- 1 root root 3697 10月 29 14:34 mod_fastdfs.conf
-rw-r--r-- 1 root root 7646 10月 28 14:34 storage.conf
-rw-r--r-- 1 root root 105 10月 29 14:33 storage_ids.conf
-rw-r--r-- 1 root root 7102 10月 29 14:33 tracker.conf
[root@server1 fdfs]#
编纂配置文件 storage.conf 测量试验的时候,只需改良以下内容就能够

9. 翻看日志文件:

cat /home/storage/fastdfs/logs/storaged.log

[root@server1 fdfs]# vim storage.conf
disabled=false #启用配置文件
group_name=group1 #组名,遵照真实情形修正
port=23000 #安装 storage 的端口号
base_path=/data/fastdfs/storage #安装 storage 的日志目录(需预先成立卡塔尔
store_path_count=1 #积攒路径个数,供给和 store_path 个数相称
store_path0=/data/fastdfs/storage #积攒路线
tracker_server=10.10.10.124:22122 #tracker 服务器的 IP 地址和端口号
http.server_port=8080 #安装storage上运行的http服务的端口号,如安装的nginx的端口号

七、测试:

/usr/local/FastDFS/bin/fdfs_test /etc/fdfs/client.conf upload /etc/passwd

结果如下:

This is FastDFS client test program v4.06

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 Pagehttp://www.csource.org/

for more detail.

[2014-06-03 20:26:21] DEBUG - base_path=/home/client/fastdfs, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0

tracker_query_storage_store_list_without_group:

server 1. group_name=, ip_addr=192.168.227.130, port=23000

group_name=group1, ip_addr=192.168.227.130, port=23000

storage_upload_by_filename

group_name=group1, remote_filename=M00/00/00/wKjjglOOkd2AdZiiAAAFng0Nczs9728851

source ip address: 192.168.227.130

file timestamp=2014-06-03 20:26:21

file size=1438

file crc32=218985275

file url:http://192.168.227.130/group1/M00/00/00/wKjjglOOkd2AdZiiAAAFng0Nczs9728851

storage_upload_slave_by_filename

group_name=group1, remote_filename=M00/00/00/wKjjglOOkd2AdZiiAAAFng0Nczs9728851_big

source ip address: 192.168.227.130

file timestamp=2014-06-03 20:26:21

file size=1438

file crc32=218985275

file url:http://192.168.227.130/group1/M00/00/00/wKjjglOOkd2AdZiiAAAFng0Nczs9728851_big

在浏览器上张开http://192.168.227.130/group1/M00/00/00/wKjjglOOkd2AdZiiAAAFng0Nczs9728851_big

测试成功!!!

参考:

http://www.cnblogs.com/zhoulf/archive/2013/02/09/2909653.html

http://blog.csdn.net/yl_wh/article/details/8784569

3.运行:

[root@server1 fdfs]# fdfs_storaged /etc/fdfs/storage.conf restart
查看端口是不是起来

[root@server1 fdfs]# netstat -antp | grep storage
tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 10316/fdfs_storaged
[root@server1 fdfs]#
观测日志 /data/fastdfs/storage/logs/storaged.log 看运维意况

mkdir data path: FB ...
mkdir data path: FC ...
mkdir data path: FD ...
mkdir data path: FE ...
mkdir data path: FF ...
data path: /data/fastdfs/storage/data, mkdir sub dir done.
[2014-10-28 14:42:55] INFO - file: storage_param_getter.c, line: 191, use_storage_id=0, id_type_in_filename=ip, storage_ip_changed_auto_adjust=1, store_path=0, reserved_storage_space=10.00%, use_trunk_file=0, slot_min_size=256, slot_max_size=16 MB, trunk_file_size=64 MB, trunk_create_file_advance=0, trunk_create_file_time_base=02:00, trunk_create_file_interval=86400, trunk_create_file_space_threshold=20 GB, trunk_init_check_occupying=0, trunk_init_reload_from_binlog=0, trunk_compress_binlog_min_interval=0, store_slave_file_use_link=0
[2014-10-28 14:42:55] INFO - file: storage_func.c, line: 175, tracker_client_ip: 10.10.10.120, my_server_id_str: 10.10.10.120, g_server_id_in_filename: 2013923850
[2014-10-28 14:42:55] INFO - local_host_ip_count: 2, 127.0.0.1 10.10.10.120
[2014-10-28 14:42:55] INFO - file: tracker_client_thread.c, line: 310, successfully connect to tracker server 10.10.10.124:22122, as a tracker client, my ip is 10.10.10.120
[2014-10-28 14:43:25] INFO - file: tracker_client_thread.c, line: 1235, tracker server 10.10.10.124:22122, set tracker leader: 10.10.10.124:22122
观察先创立二级目录,然后已经打响总是到tracker
可以选取 fdfs_monitor 来查阅一下storage的事态,看是不是曾经打响注册到了tracker

[root@server2 logs]# fdfs_monitor /etc/fdfs/storage.conf
也得以以下命令来监督服务器的景色

[root@tracker ~]# fdfs_monitor /etc/fdfs/client.conf
结果如下:

[2014-10-28 15:57:54] DEBUG - base_path=/data/fastdfs/storage, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0
server_count=1, server_index=0
tracker server is 10.10.10.124:22122
group count: 1
Group 1:
group name = group1
disk total space = 14020 MB
disk free space = 10267 MB
trunk free space = 0 MB
storage server count = 2
active server count = 2
storage server port = 23000
storage HTTP port = 8080
store path count = 1
subdir count per path = 256
current write server index = 0
current trunk file id = 0
Storage 1:
id = 10.10.10.120
ip_addr = 10.10.10.120 ACTIVE
http domain =
version = 5.04
join time = 2014-10-28 14:42:43
up time = 2014-10-28 14:42:43
total storage = 14020 MB
free storage = 10385 MB
upload priority = 10
store_path_count = 1
subdir_count_per_path = 256
storage_port = 23000
storage_http_port = 8080
current_write_path = 0
source storage id =
if_trunk_server = 0
connection.alloc_count = 256
connection.current_count = 1
connection.max_count = 1
total_upload_count = 0
success_upload_count = 0
total_append_count = 0
success_append_count = 0
total_modify_count = 0
success_modify_count = 0
total_truncate_count = 0
success_truncate_count = 0
total_set_meta_count = 0
success_set_meta_count = 0
total_delete_count = 0
success_delete_count = 0
total_download_count = 0
success_download_count = 0
total_get_meta_count = 0
success_get_meta_count = 0
total_create_link_count = 0
success_create_link_count = 0
total_delete_link_count = 0
success_delete_link_count = 0
total_upload_bytes = 0
success_upload_bytes = 0
total_append_bytes = 0
success_append_bytes = 0
total_modify_bytes = 0
success_modify_bytes = 0
stotal_download_bytes = 0
success_download_bytes = 0
total_sync_in_bytes = 0
success_sync_in_bytes = 0
total_sync_out_bytes = 0
success_sync_out_bytes = 0
total_file_open_count = 0
success_file_open_count = 0
total_file_read_count = 0
success_file_read_count = 0
total_file_write_count = 0
success_file_write_count = 0
last_heart_beat_time = 2014-10-28 15:56:42
last_source_update = 1970-01-01 08:00:00
last_sync_update = 1970-01-01 08:00:00
last_synced_timestamp = 1970-01-01 08:00:00
Storage 2:
id = 10.10.10.122
ip_addr = 10.10.10.122 (shizhouliang.mobimtech.local) ACTIVE
http domain =
version = 5.04
join time = 2014-10-28 15:53:51
up time = 2014-10-28 15:53:51
total storage = 14020 MB
free storage = 10267 MB
upload priority = 10
store_path_count = 1
subdir_count_per_path = 256
storage_port = 23000
storage_http_port = 8080
current_write_path = 0
source storage id = 10.10.10.120
if_trunk_server = 0
connection.alloc_count = 256
connection.current_count = 1
connection.max_count = 1
total_upload_count = 0
success_upload_count = 0
total_append_count = 0
success_append_count = 0
total_modify_count = 0
success_modify_count = 0
total_truncate_count = 0
success_truncate_count = 0
total_set_meta_count = 0
success_set_meta_count = 0
total_delete_count = 0
success_delete_count = 0
total_download_count = 0
success_download_count = 0
total_get_meta_count = 0
success_get_meta_count = 0
total_create_link_count = 0
success_create_link_count = 0
total_delete_link_count = 0
success_delete_link_count = 0
total_upload_bytes = 0
success_upload_bytes = 0
total_append_bytes = 0
success_append_bytes = 0
total_modify_bytes = 0
success_modify_bytes = 0
stotal_download_bytes = 0
success_download_bytes = 0
total_sync_in_bytes = 0
success_sync_in_bytes = 0
total_sync_out_bytes = 0
success_sync_out_bytes = 0
total_file_open_count = 0
success_file_open_count = 0
total_file_read_count = 0
success_file_read_count = 0
total_file_write_count = 0
success_file_write_count = 0
last_heart_beat_time = 2014-10-28 15:56:53
last_source_update = 1970-01-01 08:00:00
last_sync_update = 1970-01-01 08:00:00
last_synced_timestamp = 1970-01-01 08:00:00
来看ACTIVE,就认证已经打响注册到了tracker。

4.装置开机运转:

[root@server1 fdfs]# echo "/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart" >> /etc/rc.local
[root@server1 fdfs]# cat /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
至此 storage 已经打响安装,再把其它大器晚成台服务器也一直以来的步调进行安装。
品级二台storage2(10.10.10.122)安装到位并打响运转后,看日志会开采

[2014-10-28 15:54:05] INFO - file: storage_sync.c, line: 2698, successfully connect to storage server 10.10.10.120:23000
表达已经打响连接到此外豆蔻梢头台storage了。
也足以应用

[root@server2 logs]# fdfs_monitor /etc/fdfs/storage.conf
来查阅一下storage2的情形

四.storage上设置配备nginx

以下操作是在 storage1 10.10.10.120 上操作

1.安装nginx

上传 fastdfs-nginx-module_v1.16.tar.gz nginx-1.4.7.tar.gz pcre-8.36.tar.gz zlib-1.2.8.tar.gz 到storage服务器上的/usr/local/src 目录下

[root@server1 src]# rz
rz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.
Transferring fastdfs-nginx-module_v1.16.tar.gz...
100% 17 KB 17 KB/sec 00:00:01 0 Errors
Transferring nginx-1.4.7.tar.gz...
100% 751 KB 751 KB/sec 00:00:01 0 Errors
Transferring pcre-8.36.tar.gz...
100% 1962 KB 1962 KB/sec 00:00:01 0 Errors
Transferring zlib-1.2.8.tar.gz...
100% 557 KB 557 KB/sec 00:00:01 0 Errors
解压各类文件,然后编写翻译安装nginx

[root@server1 src]# tar xf nginx-1.4.7.tar.gz
[root@server1 src]# tar xf pcre-8.36.tar.gz
[root@server1 src]# tar xf zlib-1.2.8.tar.gz
[root@server1 src]# tar xf fastdfs-nginx-module_v1.16.tar.gz
[root@server1 src]# cd nginx-1.4.7
[root@server1 nginx-1.4.7]# ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
[root@server1 nginx-1.4.7]# ./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/fastdfs-nginx-module/src --with-pcre=/usr/local/src/pcre-8.36 --with-zlib=/usr/local/src/zlib-1.2.8

现身以下错误:

cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='"/etc/fdfs/mod_fastdfs.conf"' -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/local/include/fastdfs -I /usr/local/include/fastcommon/ -I /usr/local/src/pcre-8.36 -I /usr/local/src/zlib-1.2.8 -I objs -I src/http -I src/http/modules -I src/mail
-o objs/addon/src/ngx_http_fastdfs_module.o
/usr/local/src/fastdfs-nginx-module/src/ngx_http_fastdfs_module.c
在蕴藏自 /usr/local/src/fastdfs-nginx-module/src/ngx_http_fastdfs_module.c:6 的文书中:
/usr/local/src/fastdfs-nginx-module/src/common.c:21:25: 错误:fdfs_define.h:未有拾分文件或目录
/usr/local/src/fastdfs-nginx-module/src/common.c:22:20: 错误:logger.h:未有十一分文件或目录
/usr/local/src/fastdfs-nginx-module/src/common.c:23:25: 错误:shared_func.h:未有特别文件或目录
/usr/local/src/fastdfs-nginx-module/src/common.c:24:25: 错误:fdfs_global.h:未有非常文件或目录
/usr/local/src/fastdfs-nginx-module/src/common.c:25:21: 错误:sockopt.h:未有特别文件或目录
/usr/local/src/fastdfs-nginx-module/src/common.c:26:23: 错误:http_func.h:未有非常文件或目录
/usr/local/src/fastdfs-nginx-module/src/common.c:27:30: 错误:fdfs_http_shared.h:未有那多少个文件或目录
/usr/local/src/fastdfs-nginx-module/src/common.c:28:25: 错误:fdfs_client.h:没有充足文件或目录
/usr/local/src/fastdfs-nginx-module/src/common.c:29:27: 错误:local_ip_func.h:未有极度文件或目录
/usr/local/src/fastdfs-nginx-module/src/common.c:30:30: 错误:fdfs_shared_func.h:未有非常文件或目录
/usr/local/src/fastdfs-nginx-module/src/common.c:31:26: 错误:trunk_shared.h:未有那些文件或目录
上述的这几个错误是出于没找到 头文件引致的,找了找原因,在编写翻译fastdf模块的时候会找那些地方/usr/local/include搜索fastdfs主程序的 fastcommon和fastdfs那2个目录下的头文件,可是在编写翻译安装的fastdfs主程序的时候,却把那2个目录放到了/usr /include上边了,于是复制那2个目录到/usr/local/include下

[root@server1 src]# cp -rf /usr/include/fast* /usr/local/include/
[root@server1 src]# ls /usr/local/include/
fastcommon fastdfs
[root@server1 src]#
于是乎再一次编写翻译

[root@server1 src]# cd nginx-1.4.7
[root@server1 nginx-1.4.7]# ./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/fastdfs-nginx-module/src --with-pcre=/usr/local/src/pcre-8.36 --with-zlib=/usr/local/src/zlib-1.2.8
[root@server1 nginx-1.4.7]# make && make install
此番好不容易编译安装通过。

2.计划运维脚本:

编辑 /etc/init.d/nginx,如下内容:

#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# it is v.1.4.7 version.
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
# It has a lot of features, but it's not for everyone.
# processname: nginx

# pidfile: /usr/local/nginx/logs/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf

nginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf
nginx_pid=/usr/local/nginx/logs/nginx.pid
nginx_lock=/var/lock/subsys/nginx
RETVAL=0
prog="nginx"

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0

# Start nginx daemons functions.
start() {
nginx_is_run=`ps -ef | egrep 'nginx:s*(worker|master)s*process' | wc -l`
if [ ${nginx_is_run} -gt 0 ];then
echo "nginx already running...."
exit 1
fi
echo -n $"Starting $prog: "
daemon $nginxd -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch ${nginx_lock}
return $RETVAL
}

# Stop nginx daemons functions.
stop() {
echo -n $"Stopping $prog: "
killproc $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f ${nginx_lock} ${nginx_pid}
}

# Reload nginx config file
reload() {
echo -n $"Reloading $prog: "
#kill -HUP `cat ${nginx_pid}`
killproc $nginxd -HUP
RETVAL=$?
echo
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac

3.将法斯特DFS的nginx插件模块的布局文件

copy 到 法斯特DFS 配置文件目录

[root@server1 src]# cp fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

4.改变nginx的配置文件

4.1 修改nginx的监听端口

将 server 段中的 listen 端口号改为 8080:

[root@server1 nginx]# vim /usr/local/nginx/conf/nginx.conf
listen 8080;

4.2 在 server 段中增多fastdfs的配备
这里的group[1-3] 能够相称group1,group2,group3,当然group也得以是任何的名字

location ~ /group[1-3]/M00 {
root /data/fastdfs/storage/data;
ngx_fastdfs_module;
}
/data/fastdfs/storage/data 那么些是指向 真正存款和储蓄文件的地点,该目录下有这么些个二级目录

[root@server1 src]# cd /data/fastdfs/storage/data/
[root@server1 data]# ll
总用量 1036
drwxr-xr-x 258 root root 4096 10月 28 14:42 00
drwxr-xr-x 258 root root 4096 10月 28 14:42 01
drwxr-xr-x 258 root root 4096 10月 28 14:42 02
drwxr-xr-x 258 root root 4096 10月 28 14:42 03
drwxr-xr-x 258 root root 4096 10月 28 14:42 04
drwxr-xr-x 258 root root 4096 10月 28 14:42 05
drwxr-xr-x 258 root root 4096 10月 28 14:42 06
drwxr-xr-x 258 root root 4096 10月 28 14:42 07
drwxr-xr-x 258 root root 4096 10月 28 14:42 08
drwxr-xr-x 258 root root 4096 10月 28 14:42 09
drwxr-xr-x 258 root root 4096 10月 28 14:42 0A
drwxr-xr-x 258 root root 4096 10月 28 14:42 0B
drwxr-xr-x 258 root root 4096 10月 28 14:42 0C
drwxr-xr-x 258 root root 4096 10月 28 14:42 0D
drwxr-xr-x 258 root root 4096 10月 28 14:42 0E
drwxr-xr-x 258 root root 4096 10月 28 14:42 0F
drwxr-xr-x 258 root root 4096 10月 28 14:42 10

5.纠正fastdfs的nginx模块的安顿文件mod_fastdfs.conf

相同只需更动以下几个参数就可以:

base_path=/data/fastdfs/storage #保留日志目录
tracker_server=10.10.10.124:22122 #tracker 服务器的 IP 地址以至端口号
storage_server_port=23000 #storage 服务器的端口号
group_name=group1 #日前服务器的 group 名
url_have_group_name = true #文本 url 中是不是有 group 名
store_path_count=1 #存款和储蓄路线个数,须求和 store_path 个数相称
store_path0=/data/fastdfs/storage #仓库储存路径
http.need_find_content_type=true # 从文件 扩展 名查 找 文件 类型 ( nginx 时 为true)
group_count = 1 #设置组的个数
然后在最终加多分组音讯,目前独有一个分组,就只写多个

[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/data/fastdfs/storage

6.制造M00至存款和储蓄目录的号子链接

[root@server1 fdfs]# ln -s /data/fastdfs/storage/data /data/fastdfs/storage/data/M00
[root@server1 fdfs]# ll /data/fastdfs/storage/data/M00
lrwxrwxrwx 1 root root 26 10月 29 11:22 /data/fastdfs/storage/data/M00 -> /data/fastdfs/storage/data
于今nginx和法斯特DFS 插件模块设置达成

7.启动nginx

[root@server1 nginx]# chmod u+x /etc/init.d/nginx
[root@server1 nginx]# chkconfig --add nginx
[root@server1 nginx]# chkconfig nginx on
[root@server1 nginx]# service nginx start
正在起步 nginx: [确定]
[root@server1 nginx]# service nginx status
nginx (pid 26500) 正在运营...
翻开nginx的日志 错误日志logs/error.log 看是否有标题

[2014-10-29 14:35:29] INFO - local_host_ip_count: 2, 127.0.0.1 10.10.10.120
[2014-10-29 14:35:29] INFO - fastdfs apache / nginx module v1.15, response_mode=proxy, base_path=/tmp, url_have_group_name=1, group_count=1, connect_timeout=2, network_timeout=30, tracker_server_count=1, if_alias_prefix=, local_host_ip_count=2, anti_steal_token=0, token_ttl=0s, anti_steal_secret_key length=0, token_check_fail content_type=, token_check_fail buff length=0, load_fdfs_parameters_from_tracker=1, storage_sync_file_max_delay=86400s, use_storage_id=0, storage server id count=0, flv_support=1, flv_extension=flv
[2014-10-29 14:35:29] INFO - group 1. group_name=group1, storage_server_port=23000, path_count=1, store_path0=/data/fastdfs/storage
也能够访谈 http://10.10.10.120:8080

澳门新濠3559 1

见到没什么错误,至此在storage1上设置配备nginx截止。
再在storage2上以平等的手续来设置nginx。

五:安装nginx反向代理及缓存服务器

以下操作在 10.10.10.123 上操作

1.安装nginx:

将所需的软件包上传至服务器/usr/local/src下

[root@fastdfs-nginx ~]# cd /usr/local/src/
[root@fastdfs-nginx src]# ls
[root@fastdfs-nginx src]# rz
rz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.
Transferring nginx-1.4.7.tar.gz...
100% 751 KB 751 KB/sec 00:00:01 0 Errors
Transferring ngx_cache_purge-2.1.tar.gz...
100% 10 KB 10 KB/sec 00:00:01 0 Errors
Transferring pcre-8.36.tar.gz...
100% 1962 KB 1962 KB/sec 00:00:01 0 Errors
Transferring zlib-1.2.8.tar.gz...
100% 557 KB 557 KB/sec 00:00:01 0 Errors
解压各种软件包

[root@fastdfs-nginx src]# tar xf nginx-1.4.7.tar.gz
[root@fastdfs-nginx src]# tar xf ngx_cache_purge-2.1.tar.gz
[root@fastdfs-nginx src]# tar xf pcre-8.36.tar.gz
[root@fastdfs-nginx src]# tar xf zlib-1.2.8.tar.gz
[root@fastdfs-nginx src]# cd nginx-1.4.7
编写翻译安装nginx

[root@fastdfs-nginx nginx-1.4.7]# ./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/ngx_cache_purge-2.1 --with-pcre=/usr/local/src/pcre-8.36/ --with-zlib=/usr/local/src/zlib-1.2.8
checking for OS

  • Linux 2.6.32-431.el6.x86_64 x86_64
    checking for C compiler ... found
  • using GNU C compiler
  • gcc version: 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)
    checking for gcc -pipe switch ... found
    checking for gcc builtin atomic operations ... found
    checking for C99 variadic macros ... found
    checking for gcc variadic macros ... found
    checking for unistd.h ... found
    checking for inttypes.h ... found
    ...
    Configuration summary
  • using PCRE library: /usr/local/src/pcre-8.36/
  • OpenSSL library is not used
  • md5: using system crypto library
  • sha1: using system crypto library
  • using zlib library: /usr/local/src/zlib-1.2.8
    nginx path prefix: "/usr/local/nginx"
    nginx binary file: "/usr/local/nginx/sbin/nginx"
    nginx configuration prefix: "/usr/local/nginx/conf"
    nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
    nginx pid file: "/usr/local/nginx/logs/nginx.pid"
    nginx error log file: "/usr/local/nginx/logs/error.log"
    nginx http access log file: "/usr/local/nginx/logs/access.log"
    nginx http client request body temporary files: "client_body_temp"
    nginx http proxy temporary files: "proxy_temp"
    nginx http fastcgi temporary files: "fastcgi_temp"
    nginx http uwsgi temporary files: "uwsgi_temp"
    nginx http scgi temporary files: "scgi_temp"
    [root@fastdfs-nginx nginx-1.4.7]# make && make install
    至此 nginx 以至 nginx cache purge 插件模块安装到位。

2.配置:

有备无患nginx的开发银行脚本,内容同地点的storage安装时的脚本,并进入到系统的劳务,开机运维
创设nginx的缓存目录

[root@fastdfs-nginx nginx]# mkdir -pv /var/cache/nginx/proxy_cache/tmp
mkdir: 已开立目录 "/var/cache/nginx"
mkdir: 已开立目录 "/var/cache/nginx/proxy_cache"
mkdir: 已创建目录 "/var/cache/nginx/proxy_cache/tmp"
追加系统展开文件数的约束

[root@fastdfs-nginx nginx]# ulimit -SHn 102400
[root@fastdfs-nginx nginx]# echo "ulimit -SHn 102400" >> /etc/rc.local
编排 vim /usr/local/nginx/conf/nginx.conf 文件改正以下内容:

user nobody;
worker_processes 1;
error_log logs/error.log info;
pid logs/nginx.pid;
events {
worker_connections 65535;
use epoll;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nopush on;
keepalive_timeout 65;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 300m;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
#安装缓存存款和储蓄路线、存款和储蓄方式、分配内部存款和储蓄器大小、磁盘最大空间、缓存期限
proxy_cache_path /var/cache/nginx/proxy_cache levels=1:2
keys_zone=http-cache:500m max_size=10g inactive=30d;
proxy_temp_path /var/cache/nginx/proxy_cache/tmp;
#设置 group1 的服务器
upstream fdfs_group1 {
server 10.10.10.120:8080 weight=1 max_fails=2 fail_timeout=30s;
server 10.10.10.122:8080 weight=1 max_fails=2 fail_timeout=30s;
}
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
server {
listen 80;
server_name localhost;
access_log logs/host.access.log main;
#设置 group1 的反向代理参数
location /group1/M00 {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_cache http-cache;
proxy_cache_valid 200 304 12h;
proxy_cache_key $uri$is_args$args;
proxy_pass ;
expires 30d;
}
#设置肃清缓存的访问权限
location ~ /purge(/.*) {
allow 127.0.0.1;
allow 10.10.10.0/24;
deny all;
proxy_cache_purge http-cache $1$is_args$args;
}
}
}
运用 /usr/local/nginx/sbin/nginx -t 来测量试验配置文件语法的不利

[root@fastdfs-nginx nginx]# ./sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

3.启动nginx

[root@fastdfs-nginx nginx]# service nginx start
正在起步 nginx: [确定]
查看监听的端口

[root@fastdfs-nginx conf]# netstat -antp | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 20526/nginx
[root@fastdfs-nginx conf]#

六,测量试验上传文件

以下操作在tracker服务器(10.10.10.124卡塔尔上海展览中心开

1.创办client使用的日记目录

[root@tracker tracker]# mkdir -pv /data/fastdfs/client
mkdir: 已创设目录 "/data/fastdfs/client"

2.改正客商端的铺排文件/etc/fdfs/client.conf

改善以下参数就可以:

base_path=/data/fastdfs/client #日志贮存路线
tracker_server=10.10.10.124:22122 #tracker 服务器 IP 地址和端口号
http.tracker_server_port=8080 #tracker 服务器的 http 端口号 ,那豆蔻梢头项认为没什么用场,tracker都未有启用http服务

3.上传一张图纸

[root@tracker ~]# fdfs_upload_file /etc/fdfs/client.conf 1.jpg
group1/M00/00/00/CgoKeFRQqaaASsgNAAEgRqu1UiU712.jpg
[root@tracker ~]#
收获了一个如上的三个地点group1/M00/00/00/CgoKeFMuranoQqaaASsgNAAEgLacrossequ1UiU712.jpg
能够选拔fdfs_file_info 来查阅上传文件的消息

[root@tracker ~]# fdfs_file_info /etc/fdfs/client.conf group1/M00/00/00/CgoKeFRQqaaASsgNAAEgRqu1UiU712.jpg
source storage id: 0
source ip address: 10.10.10.120
file create timestamp: 2014-10-29 16:47:34
file size: 73798
file crc32: 2880786981 (0xABB55225)
这么些新闻里面能够见到 那么些文件上传的时候 首先上传到了10.10.10.120那台服务器,文件的开创时间、文件的朗朗上口

4.行使浏览器访谈一下地址

完整的UOdysseyL是那样的

10.10.10.123 正是nginx反向代理缓存服务器

得逞访问到图片
查看一下nginx的访谈日志,能够看见状态码是 200OK.

[root@fastdfs-nginx ~]# tail -1 /usr/local/nginx/logs/host.access.log
10.10.10.46 - - [29/Oct/2014:16:48:43 +0800] "GET /group1/M00/00/00/CgoKeFRQqaaASsgNAAEgRqu1UiU712.jpg HTTP/1.1" 200 73798 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36" "-"
[root@fastdfs-nginx ~]#
查阅nginx的缓存目录,看是还是不是曾经缓存成功

[root@fastdfs-nginx ~]# ll -R /var/cache/nginx/proxy_cache/
/var/cache/nginx/proxy_cache/:
总用量 8
drwx------. 3 nobody nobody 4096 10月 29 16:47 e
drwxr-xr-x. 2 nobody root 4096 10月 29 16:47 tmp
/var/cache/nginx/proxy_cache/e:
总用量 4
drwx------. 2 nobody nobody 4096 10月 29 16:47 a8
/var/cache/nginx/proxy_cache/e/a8:
总用量 76
-rw-------. 1 nobody nobody 74110 二月 29 16:47 54408edb44f74ab4da965506f54a6a8e 在这里已经缓存成功
/var/cache/nginx/proxy_cache/tmp:
总用量 0
[root@fastdfs-nginx ~]#

5.清楚缓存:

若要衰亡该图片的缓存,能够在文件 USportageL 此前增进 purge 就可以,如下图

澳门新濠3559 2

6.配备浏览器端查看是还是不是命中缓存

能够运用Chrome浏览器的开荒工具,查看响应的头顶信息来查阅是或不是命中缓存,要启用此成效,改革nginx的主配置文件如下:
在location /group1/M00 段扩展那2个行

add_header X-Via $server_addr;
add_header X-Cache-Status $upstream_cache_status;
终极效果

location /group1/M00 {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_cache http-cache;
proxy_cache_valid 200 304 12h;
proxy_cache_key $uri$is_args$args;
proxy_pass ;
expires 30d;
add_header X-Via $server_addr;
add_header X-Cache-Status $upstream_cache_status;
}
重启nginx

[root@fastdfs-nginx ~]# service nginx restart
停止 nginx: [确定]
正在开发银行 nginx: [确定]
[root@fastdfs-nginx ~]#
清空chrome浏览器的缓存,撤销那张图纸在nginx中的缓存
先是次访谈

来得MISS,代表缓存中从不
其次次 ctrl+F5 强制刷新访问

业已浮现HIT,代表已经打中缓存
迄今 法斯特DFS + nginx 反向代理缓存搭建实现。

七.优化部分

1.Tracker优化:

1) max_connections=10000或越来越大响应参数增大内部存款和储蓄器消耗增添该参数需改良单生龙活虎进度同期可展开文件数量(* soft nofile 65536 * hard nofile 65536卡塔尔国的节制后生效。
2) work_threads=12 cpu数量此处安装cpu宗旨数据
3) thread_stack_size=256
测量试验配置如下

work_threads=12
thread_stack_size=256
max_connections=65535

2.storage优化

work_threads= work_threads + 1 + (disk_reader_threads + disk_writer_threads) * store_path_count= 15

disk_rw_separated:磁盘读写是还是不是分手
disk_reader_threads:单个磁盘读线程数
disk_writer_threads:单个磁盘写线程数
举个例子磁盘读写混合,单个磁盘读写线程数为读线程数和写线程数之后
对此单盘挂载格局,磁盘读写线程分别设置为1就可以
倘诺磁盘做了RAID,那么须要钻探加大读写线程数,那样技术最大程度地公布磁盘质量
buff_size=512叠合升高磁盘IO的其它八个手艺,一回尽恐怕多写入或多读取。也正是说,将前后相继的读写buffer设置得硬着头皮大片段。例如日志只怕redo log的写入,不是历次调用都一贯写磁盘,而是先缓存到内部存款和储蓄器中,等buffer满了再写入磁盘,也足以准期写入磁盘。
测量试验配置如下

thread_stack_size=512KB
disk_reader_threads = 4
disk_writer_threads = 4
buff_size=512
max_connections=65535
accept_threads=10
work_threads=16a
上述配置压力测量试验上传并发2w 事务平均响适那时候间0.46秒,4w事务平均响应时间2.2秒。

八:法斯特DFS使用流程:

1.上传文件

法斯特DFS 提供了二种形式上传文件:
使用 fdfs_upload_file 上传
选择 C 语言顾客端接口上传
选拔 PHP 客商端接口上传
接受 Java 顾客端接口上传
接收 Python 客商端接口上传
使用.NET 顾客端接口上传
据悉具体情状选拔使用。上传均协助断点续传。
设若Java的顾客端,在API的布局文件中配置 tracker服务器,如果有多少个tracker服务器,就配备多台
WEB-INF/classes/fdfs_client.conf

connect_timeout = 2
network_timeout = 30
charset = UTF-8
http.tracker_http_port = 8080
http.anti_steal_token = no
http.secret_key = FastDFS1234567890

tracker_server =192.168.10.27:22122
tracker_server = 192.168.10.28:22122

2.下载文件

使用 fdfs_download_file 通过 tracker 服务器下载
利用 nginx 通过 http 方式平昔从 storage 下载(协助断点续传,作者推荐卡塔尔国

3.检查测量试验服务器能源

使用 fdfs_monitor 查看 tracker 和具有 group 的运市价况

[root@tracker ~]# fdfs_monitor /etc/fdfs/client.conf
[2014-10-31 14:09:20] DEBUG - base_path=/data/fastdfs/client, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0

server_count=1, server_index=0

tracker server is 10.10.10.124:22122

group count: 1

Group 1:
group name = group1
disk total space = 14020 MB
disk free space = 10224 MB
trunk free space = 0 MB
storage server count = 2
active server count = 2
storage server port = 23000
storage HTTP port = 8080
store path count = 1
subdir count per path = 256
current write server index = 1
current trunk file id = 0

Storage 1:
id = 10.10.10.120
ip_addr = 10.10.10.120 ACTIVE
http domain =
version = 5.04
join time = 2014-10-28 14:42:43
up time = 2014-10-29 14:14:44
total storage = 14020 MB
....
Storage 2:
id = 10.10.10.122
ip_addr = 10.10.10.122 ACTIVE
http domain =
version = 5.04
join time = 2014-10-28 15:53:51
up time = 2014-10-28 15:53:51
total storage = 14020 MB
....

4.别的成效

使用 fdfs_crc32 获取文件 CRC
使用 fdfs_delete_file 删除文件
使用 fdfs_file_info 查看文件属性信息

 

编辑:服务器运维 本文来源:PATH=/etc/fdfs  ---配置文件路径,FastDFS需要在Lin

关键词: