黑马程序员技术交流社区

标题: 【合肥校区】搭建单机版的FastDFS服务器 [打印本页]

作者: 项老师    时间: 2018-1-11 13:54
标题: 【合肥校区】搭建单机版的FastDFS服务器
本帖最后由 合肥就业部 于 2018-2-1 11:02 编辑

【合肥校区】搭建单机版的FastDFS服务器
由于FastDFS集群搭建非常复杂,对于初期学习FastDFS来说,搭建个单机版的作为入门更为实际一些。
第一步:搭建虚拟环境
        FastDFS需要在Linux系统上安装,我们一般使用的都是Windows系统,这样就需要有虚拟环境,我这里使用Vmware12创建虚拟机
第二步:配置静态IP而且要保证能上网
需要提醒的是,由于最小化安装默认是没有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目录,专门用于存放安装包,如下所示
[AppleScript] 纯文本查看 复制代码
[root@fastdfs ~]# mkdir /usr/local/software  
[root@fastdfs ~]#  
下面我们把需要用到的安装包都上传到/usr/local/software目录下,我们可以使用XShell和Xftp5相结合来方便的进行上传下载操作。
也可以通过安装rzsz命令来进行上传下载操作,安装rzsz的命令是yum install lrzsz,安装完之后,rz表示上传,sz 文件表示下载。
上传完之后,如下所示
[AppleScript] 纯文本查看 复制代码
[root@fastdfs software]# ll  
总用量 1248  
-rw-r--r--. 1 root root  17510 12月 12 00:19 fastdfs-nginx-module_v1.16.tar.gz  
-rw-r--r--. 1 root root 345400 12月 28 00:20 FastDFS_v5.05.tar.gz  
-rw-r--r--. 1 root root 102378 12月 28 00:19 libfastcommon-master.zip  
-rw-r--r--. 1 root root 804164 12月 28 01:11 nginx-1.6.2.tar.gz  
[root@fastdfs software]#   
第六步:安装zip和unzip命令
        由于解压.zip结尾的文件需要用到unzip命令,因此我们需要安装,安装命令是yum install zip unzip
第七步:安装libfastcommon
1、解压
[AppleScript] 纯文本查看 复制代码
[root@fastdfs software]# unzip libfastcommon-master.zip -d /usr/local/fast/  
2、进入目录
[AppleScript] 纯文本查看 复制代码
[root@fastdfs software]# cd /usr/local/fast/libfastcommon-master/  
[root@fastdfs libfastcommon-master]# ll  
总用量 28  
-rw-r--r--. 1 root root 2913 12月  28 2017 HISTORY  
-rw-r--r--. 1 root root  582 12月  28 2017 INSTALL  
-rw-r--r--. 1 root root 1342 12月  28 2017 libfastcommon.spec  
-rwxr-xr-x. 1 root root 2151 12月  28 2017 make.sh  
drwxr-xr-x. 2 root root 4096 12月  28 2017 php-fastcommon  
-rw-r--r--. 1 root root  617 12月  28 2017 README  
drwxr-xr-x. 2 root root 4096 12月  28 2017 src  
[root@fastdfs libfastcommon-master]#  
3、编译
[AppleScript] 纯文本查看 复制代码
[root@fastdfs libfastcommon-master]# ./make.sh 
4、安装
[AppleScript] 纯文本查看 复制代码
[root@fastdfs libfastcommon-master]# ./make.sh install  
第八步:创建软链接
       FastDFS主程序设置的目录为/usr/local/lib/,所以我们需要创建/ usr/lib64/下的一些核心执行程序的软连接文件。如下所示。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs libfastcommon-master]# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so  
[root@fastdfs libfastcommon-master]# ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so  
[root@fastdfs libfastcommon-master]# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so  
[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文件
[AppleScript] 纯文本查看 复制代码
[root@fastdfs fast]# cd /usr/local/software/  
[root@fastdfs software]# ll  
总用量 1248  
-rw-r--r--. 1 root root  17510 12月 29 03:28 fastdfs-nginx-module_v1.16.tar.gz  
-rw-r--r--. 1 root root 345400 12月 29 03:28 FastDFS_v5.05.tar.gz  
-rw-r--r--. 1 root root 102378 12月 29 03:28 libfastcommon-master.zip  
-rw-r--r--. 1 root root 804164 12月 29 03:29 nginx-1.6.2.tar.gz  
[root@fastdfs software]# tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/  
  2、编译安装
[AppleScript] 纯文本查看 复制代码
[root@fastdfs software]# cd /usr/local/fast/FastDFS/  
[root@fastdfs FastDFS]# ./make.sh  
[root@fastdfs FastDFS]# ./make.sh install  
安装完后,服务脚本位置如下
[AppleScript] 纯文本查看 复制代码
[root@fastdfs FastDFS]# cd /etc/init.d/ && ls | grep fdfs  
fdfs_storaged  
fdfs_trackerd  
[root@fastdfs init.d]#  
配置文件位置如下:
[AppleScript] 纯文本查看 复制代码
[root@fastdfs init.d]# cd /etc/fdfs/  
[root@fastdfs fdfs]# ll  
总用量 20  
-rw-r--r--. 1 root root 1461 12月 29 04:10 client.conf.sample  
-rw-r--r--. 1 root root 7829 12月 29 04:10 storage.conf.sample  
-rw-r--r--. 1 root root 7102 12月 29 04:10 tracker.conf.sample  
[root@fastdfs fdfs]#   
FastDFS一系列执行脚本如下,可以看到有上传文件脚本、下载文件脚本等等。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs fdfs]# cd /usr/bin/ && ls | grep fdfs  
fdfs_appender_test  
fdfs_appender_test1  
fdfs_append_file  
fdfs_crc32  
fdfs_delete_file  
fdfs_download_file  
fdfs_file_info  
fdfs_monitor  
fdfs_storaged  
fdfs_test  
fdfs_test1  
fdfs_trackerd  
fdfs_upload_appender  
fdfs_upload_file  
[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,如下所示。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs bin]# cd /etc/fdfs/  
[root@fastdfs fdfs]# ll  
总用量 20  
-rw-r--r--. 1 root root 1461 12月 29 04:10 client.conf.sample  
-rw-r--r--. 1 root root 7829 12月 29 04:10 storage.conf.sample  
-rw-r--r--. 1 root root 7102 12月 29 04:10 tracker.conf.sample  
[root@fastdfs fdfs]# cp tracker.conf.sample tracker.conf  
[root@fastdfs fdfs]#
2、使用命令vim /etc/fdfs/tracker.conf进入编辑模式,然后修改base_path的值为/fastdfs/tracker,如下图所示
3、我们在上图配置文件中配置的/fastdfs/tracker目前是不存在的,因此我们需要创建一下该目录
[AppleScript] 纯文本查看 复制代码
[root@fastdfs fdfs]# mkdir -p /fastdfs/tracker  
[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、重启防火墙
[AppleScript] 纯文本查看 复制代码
[root@fastdfs fdfs]# service iptables restart  
iptables:将链设置为政策 ACCEPT:filter                    [确定]  
iptables:清除防火墙规则:                                 [确定]  
iptables:正在卸载模块:                                   [确定]  
iptables:应用防火墙规则:                                 [确定]  
[root@fastdfs fdfs]#   
6、在启动tracker之前,/fastdfs/tracker目录下是没有任何文件的,如下所示
[AppleScript] 纯文本查看 复制代码
[root@fastdfs tracker]# cd /fastdfs/tracker/ && ll  
总用量 0  
[root@fastdfs tracker]#  
启动tracker,启动完之后,可以看到这个目录下多了两个目录data和logs。如下所示。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs tracker]# /etc/init.d/fdfs_trackerd start   
Starting FastDFS tracker server:   
[root@fastdfs tracker]# cd /fastdfs/tracker/ && ll  
总用量 8  
drwxr-xr-x. 2 root root 4096 12月 29 05:01 data  
drwxr-xr-x. 2 root root 4096 12月 29 05:01 logs  
[root@fastdfs tracker]#   
7、设置开机自启动,在rc.local文件中添加/etc/init.d/fdfs_trackerd start,如下所示
[AppleScript] 纯文本查看 复制代码
[root@fastdfs tracker]# vim /etc/rc.d/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  
/etc/init.d/fdfs_trackerd start  
第十一步:配置FastDFS存储

     1、进入/etc/fdfs目录,复制一份storage.conf.sample文件并命名为storage.conf,如下所示。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs tracker]# cd /etc/fdfs/  
[root@fastdfs fdfs]# ll  
总用量 28  
-rw-r--r--. 1 root root 1461 12月 29 04:10 client.conf.sample  
-rw-r--r--. 1 root root 7829 12月 29 04:10 storage.conf.sample  
-rw-r--r--. 1 root root 7098 12月 29 04:45 tracker.conf  
-rw-r--r--. 1 root root 7102 12月 29 04:10 tracker.conf.sample  
[root@fastdfs fdfs]# cp storage.conf.sample storage.conf  
[root@fastdfs fdfs]# ll  
总用量 36  
-rw-r--r--. 1 root root 1461 12月 29 04:10 client.conf.sample  
-rw-r--r--. 1 root root 7829 12月 29 05:07 storage.conf  
-rw-r--r--. 1 root root 7829 12月 29 04:10 storage.conf.sample  
-rw-r--r--. 1 root root 7098 12月 29 04:45 tracker.conf  
-rw-r--r--. 1 root root 7102 12月 29 04:10 tracker.conf.sample  
[root@fastdfs fdfs]#  
2、修改storage.conf文件 ,我们使用命令vim /etc/fdfs/storage.conf进入编辑模式,对以下四项进行修改,192.168.156.13是我的虚拟机的IP,大家根据自己虚拟机的IP自行设置。
[AppleScript] 纯文本查看 复制代码
base_path=/fastdfs/storage  
store_path0=/fastdfs/storage  
tracker_server=192.168.156.13:22122  
http.server_port=8888
3、创建存储目录,如下所示。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs fdfs]# mkdir -p /fastdfs/storage  
[root@fastdfs fdfs]#  
4、配置防火墙,允许外界访问storage的默认端口23000,如下所示。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs fdfs]# vim /etc/sysconfig/iptables  
  
# Firewall configuration written by system-config-firewall  
# Manual customization of this file is not recommended.  
*filter  
:INPUT ACCEPT [0:0]  
:FORWARD ACCEPT [0:0]  
:OUTPUT ACCEPT [0:0]  
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  
-A INPUT -p icmp -j ACCEPT  
-A INPUT -i lo -j ACCEPT  
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT  
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT  
-A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT  
-A INPUT -j REJECT --reject-with icmp-host-prohibited  
-A FORWARD -j REJECT --reject-with icmp-host-prohibited  
COMMIT  
添加完之后,重启防火墙,如下所示。
[AppleScript] 纯文本查看 复制代码
root@fastdfs fdfs]# service iptables restart  
iptables:将链设置为政策 ACCEPT:filter                    [确定]  
iptables:清除防火墙规则:                                 [确定]  
iptables:正在卸载模块:                                   [确定]  
iptables:应用防火墙规则:                                 [确定]  
[root@fastdfs fdfs]#   
  5、在启动storage之前,/fastdbf/storage目录下是没有任何文件的
[AppleScript] 纯文本查看 复制代码
[root@fastdfs fdfs]# cd /fastdfs/storage/ && ll  
总用量 0  
[root@fastdfs storage]#   
启动storage,启动后再看/fastdfs/storage目录,可以看到多了data和logs。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs storage]# /etc/init.d/fdfs_storaged start  
Starting FastDFS storage server:   
[root@fastdfs storage]# cd /fastdfs/storage/ && ll  
总用量 8  
drwxr-xr-x. 68 root root 4096 12月 29 05:21 data  
drwxr-xr-x.  2 root root 4096 12月 29 05:20 logs  
[root@fastdfs storage]#  
6、查看FastDFS tracker和storage 是否启动成功,当看到如下所示信息时说明都启动成功了。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs storage]# ps -ef | grep fdfs  
root       2124      1  0 05:01 ?        00:00:00 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf  
root       2228      1  0 05:21 ?        00:00:00 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf  
root       2238   1360  0 05:22 pts/0    00:00:00 grep fdfs  
[root@fastdfs storage]#  
7、我们进入到 /fastdfs/storage/data/目录下,可以看到两级共256*256个目录,每级都是从00到FF,如下只是列出了第一级的目录,点进去每个目录都还有00到FF共256个目录。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs storage]# cd /fastdfs/storage/data/ && ls  
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  
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  
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  
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  
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  
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  
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  
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  
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  
[root@fastdfs data]#   
8、设置storage开机自启动,添加一行/etc/init.d/fdfs_storaged start,如下所示。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs data]# vim /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  
/etc/init.d/fdfs_trackerd start  
/etc/init.d/fdfs_storaged start  
第十二步:测试图片上传

      1、进入到/etc/fdfs目录下并复制一份client.conf.sample并更名为client.conf,如下所示。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs data]# cd /etc/fdfs  
[root@fastdfs fdfs]# ll  
总用量 36  
-rw-r--r--. 1 root root 1461 12月 29 04:10 client.conf.sample  
-rw-r--r--. 1 root root 7820 12月 29 05:12 storage.conf  
-rw-r--r--. 1 root root 7829 12月 29 04:10 storage.conf.sample  
-rw-r--r--. 1 root root 7098 12月 29 04:45 tracker.conf  
-rw-r--r--. 1 root root 7102 12月 29 04:10 tracker.conf.sample  
[root@fastdfs fdfs]# cp client.conf.sample client.conf  
[root@fastdfs fdfs]# ll  
总用量 40  
-rw-r--r--. 1 root root 1461 12月 29 05:40 client.conf  
-rw-r--r--. 1 root root 146112月 29 04:10 client.conf.sample  
-rw-r--r--. 1 root root 7820 12月 29 05:12 storage.conf  
-rw-r--r--. 1 root root 7829 12月 29  04:10 storage.conf.sample  
-rw-r--r--. 1 root root 7098 12月 29  04:45 tracker.conf  
-rw-r--r--. 1 root root 7102 12月 29  04:10 tracker.conf.sample  
[root@fastdfs fdfs]#   
2、使用命令vim /etc/fdfs/client.conf进入编辑模式并修改如下两项内容,如下所示。
[AppleScript] 纯文本查看 复制代码
base_path=/fastdfs/tracker  
tracker_server=192.168.156.13:22122  
3、我们找到命令的脚本位置,并且使用命令,进行文件的上传。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs bin]# cd /usr/bin/ && ls | grep fdfs  
fdfs_appender_test  
fdfs_appender_test1  
fdfs_append_file  
fdfs_crc32  
fdfs_delete_file  
fdfs_download_file  
fdfs_file_info  
fdfs_monitor  
fdfs_storaged  
fdfs_test  
fdfs_test1  
fdfs_trackerd  
fdfs_upload_appender  
fdfs_upload_file  
[root@fastdfs bin]#   
下面使用fdfs_upload_file脚本进行文件上传操作,如下所示。可以看到已经上传成功了,返回的是图片的保存位置:group1/M00/00/00/wKicDVjr_ayAE4VVAAHk-VzqZ6w020.jpg
[AppleScript] 纯文本查看 复制代码
[root@fastdfs bin]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/3.jpg  
group1/M00/00/00/wKicDVjr_ayAE4VVAAHk-VzqZ6w020.jpg  
[root@fastdfs bin]#  
第十三步:FastDFS与nginx相结合

     1、先安装nginx,大家可以参考http://blog.csdn.net/u012453843/article/details/69396434这篇博客的第四步Nginx安装(我们已经安装过的vim、gcc等就不需要重复安装了)。
     2、安装fastdfs-nginxmodule_v1.16.tar.gz(fast与nginx相结合的模块安装包), 进入 /usr/local/software目录并解压,如下所示。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs nginx-1.6.2]# cd /usr/local/software/  
[root@fastdfs software]# tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast/  
fastdfs-nginx-module/  
fastdfs-nginx-module/src/  
fastdfs-nginx-module/src/ngx_http_fastdfs_module.c  
fastdfs-nginx-module/src/mod_fastdfs.conf  
fastdfs-nginx-module/src/config  
fastdfs-nginx-module/src/common.h  
fastdfs-nginx-module/src/common.c  
fastdfs-nginx-module/INSTALL  
fastdfs-nginx-module/HISTORY  
[root@fastdfs software]#  
3、进入到/usr/local/fast目录下可以看到解压的fastdfs-nginx-module目录,然后进入到fastdfs-nginx-module/src/目录下,可以看到config文件。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs software]# cd /usr/local/fast/  
[root@fastdfs fast]# ll  
总用量 12  
drwxr-xr-x. 10 8980 users 4096 12月 29 04:10 FastDFS  
drwxrwxr-x.  3  500   500 4096 12月 29  2017 fastdfs-nginx-module  
drwxr-xr-x.  4 root root  4096 12月 29 03:30 libfastcommon-master  
[root@fastdfs fast]# cd fastdfs-nginx-module/src/  
[root@fastdfs src]# ll  
总用量 76  
-rw-rw-r--. 1 500 500 33207 8月  30 2013 common.c  
-rw-rw-r--. 1 500 500  3479 1月   3 2012 common.h  
-rw-rw-r--. 1 500 500   447 11月  4 2010 config  
-rw-rw-r--. 1 500 500  3679 3月  30 2013 mod_fastdfs.conf  
-rw-rw-r--. 1 500 500 28542 5月   4 2014 ngx_http_fastdfs_module.c  
[root@fastdfs src]#   
修改该conf文件,我们把文件的第四行配置中的/usr/local/include都改为/usr/include,共两处。
  4、fastdfs与nginx进行结合,由于我们刚才安装过nginx了,因此在/usr/local目录下已经生成了一个nginx目录了,如下图所示。
为了将nginx与fastdfs相结合,我们先把这个nginx目录删除掉,如下图所示,可以看到已经没有nginx目录了。
进入到nginx-1.6.2/目录下并执行配置和编译安装,如下所示。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs local]# cd nginx-1.6.2/  
[root@fastdfs nginx-1.6.2]# ./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src/  
[root@fastdfs nginx-1.6.2]# make && make install  
  复制fastdfs-nginx-module中的配置文件,到/etc/fdfs目录中,如下所示
[AppleScript] 纯文本查看 复制代码
[root@fastdfs fdfs]# cd /usr/local/fast/fastdfs-nginx-module/src/  
[root@fastdfs src]# ll  
总用量 76  
-rw-rw-r--. 1 500 500 33207 8月  30 2013 common.c  
-rw-rw-r--. 1 500 500  3479 1月   3 2012 common.h  
-rw-rw-r--. 1 500 500   435 4月  11 06:09 config  
-rw-rw-r--. 1 500 500  3679 3月  30 2013 mod_fastdfs.conf  
-rw-rw-r--. 1 500 500 28542 5月   4 2014 ngx_http_fastdfs_module.c  
[root@fastdfs src]# cp /usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/  
[root@fastdfs src]#   
我们到 /etc/fdfs/ 目录下,修改我们刚copy过来的mod_fastdfs.conf 文件,需要修改的项如下,其中第一项是超时时长,第三项是允许外界通过http方式访问资源。
[AppleScript] 纯文本查看 复制代码
connect_timeout=10  
tracker_server=192.168.156.13:22122  
url_have_group_name = true  
store_path0=/fastdfs/storage  
复制FastDFS里的2个文件,到/etc/fdfs目录中,如下所示。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs fdfs]# cd /usr/local/fast/FastDFS/conf/  
[root@fastdfs conf]# ll  
总用量 84  
-rw-r--r--. 1 8980 users 23981 12月  2 2014 anti-steal.jpg  
-rw-r--r--. 1 8980 users  1461 12月  2 2014 client.conf  
-rw-r--r--. 1 8980 users   858 12月  2 2014 http.conf  
-rw-r--r--. 1 8980 users 31172 12月  2 2014 mime.types  
-rw-r--r--. 1 8980 users  7829 12月  2 2014 storage.conf  
-rw-r--r--. 1 8980 users   105 12月  2 2014 storage_ids.conf  
-rw-r--r--. 1 8980 users  7102 12月  2 2014 tracker.conf  
[root@fastdfs conf]# cp http.conf mime.types /etc/fdfs/  
[root@fastdfs conf]#   
创建一个软连接,在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据 的目录,如下所示。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs conf]# ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00  
[root@fastdfs conf]#
进入到/usr/local/nginx/conf/目录下,修改nginx.conf文件,如下图所示。
修改的内容如下图示
可以直接复制下面的内容。
[AppleScript] 纯文本查看 复制代码
listen       8888;  
  
location ~/group([0-9])/M00 {   
    ngx_fastdfs_module;  
}  
  设置nginx开机自启动,这样下次重启设备之后,tracker、storage、nginx都自动启动了,直接就可以使用服务,如下所示。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs ~]# vim /etc/rc.d/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  
/etc/init.d/fdfs_trackerd start  
/etc/init.d/fdfs_storaged start  
/usr/local/nginx/sbin/nginx  
   启动nginx,如下所示。
[AppleScript] 纯文本查看 复制代码
[root@fastdfs conf]# /usr/local/nginx/sbin/nginx   
ngx_http_fastdfs_set pid=6809  
[root@fastdfs conf]#   
5、在通过8888端口访问图片之前先配置下防火墙,允许外界访问8888端口,添加的一行是-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT,如下图所示。
配置完防火墙后重启防火墙
[AppleScript] 纯文本查看 复制代码
[root@fastdfs conf]# service iptables restart  
iptables:将链设置为政策 ACCEPT:filter                    [确定]  
iptables:清除防火墙规则:                                 [确定]  
iptables:正在卸载模块:                                   [确定]  
iptables:应用防火墙规则:                                 [确定]  
[root@fastdfs conf]#   
6、现在我们便可以通过http的方式访问我们刚才上传的图片了(我们刚才上传图片返回的地址是group1/M00/00/00/wKicDVjr_ayAE4VVAAHk-VzqZ6w020.jpg),如下图所示。
至此,一个单机版的FastDFS便搭建完毕了!!


作者: hguilin    时间: 2018-1-11 14:32

作者: hguilin    时间: 2018-1-11 14:32

作者: 小皖妹妹    时间: 2018-1-11 14:34

作者: 奥斯托洛夫斯基    时间: 2018-1-11 14:56

作者: 我是一匹小黑马Y    时间: 2018-1-11 15:50

作者: 骑着小猪看雪    时间: 2018-1-12 10:01

作者: SimpleAndnavie    时间: 2018-1-12 10:06
太6了
作者: 刘某人。    时间: 2018-4-12 19:38
简直不要太6了,兄dei




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2