centos7安装FastDFS

近期用到分布式存储,参照网上一些文章,自己实际搭建了一下测试环境。做下记录,给大家也分享下。



Centos 7.0 FastDfs安装

安装包:

 

安装依赖包:

yum install make cmake gcc gcc-c++

安装unzip命令:

yum install -y unzip zip

1      安装libfastcommon

解压文件:

unzip /home/packages/libfastcommon-master.zip-d /software/

cd /software/libfastcommon-master

./make.sh

./make.shinstall

进入/usr/lib64目录,查看有libfastcommon.so文件,安装成功。如下图:

2      配置libfastcommon

FastDFS主程序设置的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/lib/libfdfsclient.so

ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

3      安装FastDFS

在所有的tracker和storage服务器上都要安装FastDFS。

3.1          编译安装fastdfs

解压软件包到/software/目录下面:

tar -zxvf /home/packages/ FastDFS_v5.08.tar.gz -C /software/

进入/software/FastDFS目录,执行编译命令:

cd /software/FastDFS

./make.sh

./make.sh install

 

安装成功。

采用默认安装方式,相应的文件与目录如下:

1> 服务脚本:

/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_trackerd

2> 配置文件(示例配置文件):

 ll /etc/fdfs/
-rw-r--r-- 1 root root  1461 1月   4 14:34 client.conf.sample
-rw-r--r-- 1 root root  7927 1月   4 14:34 storage.conf.sample
-rw-r--r-- 1 root root  7200 1月   4 14:34 tracker.conf.sample

3> 命令行工具(/usr/bin目录下)

-rwxr-xr-x    1 root root     260584 1月   4 14:34 fdfs_appender_test
-rwxr-xr-x    1 root root     260281 1月   4 14:34 fdfs_appender_test1
-rwxr-xr-x    1 root root     250625 1月   4 14:34 fdfs_append_file
-rwxr-xr-x    1 root root     250045 1月   4 14:34 fdfs_crc32
-rwxr-xr-x    1 root root     250708 1月   4 14:34 fdfs_delete_file
-rwxr-xr-x    1 root root     251515 1月   4 14:34 fdfs_download_file
-rwxr-xr-x    1 root root     251273 1月   4 14:34 fdfs_file_info
-rwxr-xr-x    1 root root     266401 1月   4 14:34 fdfs_monitor
-rwxr-xr-x    1 root root     873233 1月   4 14:34 fdfs_storaged
-rwxr-xr-x    1 root root     266952 1月   4 14:34 fdfs_test
-rwxr-xr-x    1 root root     266153 1月   4 14:34 fdfs_test1
-rwxr-xr-x    1 root root     371336 1月   4 14:34 fdfs_trackerd
-rwxr-xr-x    1 root root     251651 1月   4 14:34 fdfs_upload_appender
-rwxr-xr-x    1 root root     252781 1月   4 14:34 fdfs_upload_file

 

3.2          配置tracker

对所有的tracker服务器,进行如下配置:

进入配置目录:/etc/fdfs

该目录下有配置样本,首先复制一份来配置:

cp tracker.conf.sample tracker.conf

 

 

# 修改的内容如下:

disabled=false              # 启用配置文件

port=22122                  # tracker服务器端口(默认22122

base_path=/software/FastDFS/trackerfiles  #存储日志和数据的根目录,需手动创建文件夹

其它参数保留默认配置, 具体配置解释可参考官方文档说明:

http://bbs.chinaunix.net/thread-1941456-1-1.html

3.3          启动tracker

启动:

fdfs_trackerd /etc/fdfs/tracker.conf start

查看相应进程:

netstat -ntlp |grep 22122

 

3.4          配置storage

对所有的storage服务器作如下配置:

cd /etc/fdfs/

cp storage.conf.sample storage.conf

vi storage.conf

修改配置文件storage.conf,

# 修改的内容如下:

disabled=false                     #启用配置文件

group_name=group1      # storage服务器对应的组名,需要根据实际情况配置

port=23000                          # storage服务端口

base_path=/software/FastDFS/storagefiles          # 数据和日志文件存储根目录

store_path0=/software/FastDFS/storagedata        # 第一个存储目录

tracker_server=192.168.56.101:22122  # tracker服务器IP和端口

http.server_port=8888               # http访问文件的端口

3.5          启动storage

启动:

fdfs_storaged /etc/fdfs/storage.conf start

查看相应进程:

netstat -ntlp |grep 23000


集成Nginx服务:

FastDFS通过Tracker服务器,将文件放在Storage服务器存储,但是同组之间的服务器需要复制文件,而且有延迟的问题.

假设Tracker服务器将文件上传到了192.168.1.80,文件ID已经返回客户端,这时后台会将这个文件复制到192.168.1.30,如果复制没有完成,客户端就用这个ID在192.168.1.30取文件,肯定会出现错误。

这个fastdfs-nginx-module可以重定向连接到源服务器取文件,避免客户端由于复制延迟的问题,出现错误。

注意:在每一个storge服务器上都需要安装fastdfs-nginx-module模块。

4.1.2    解压

解压软件包到自定义目录,这里,解压到/software目录。

tar -zxvf /home/packages/fastdfs-nginx-module_v1.16.tar.gz -C /software/

 

4.1.3    配置文件

复制nginx模块目录到/usr/local:

cp -r /software/fastdfs-nginx-module/ /usr/local/fastdfs-nginx-module

进入到这个目录:

cd /usr/local/fastdfs-nginx-module

 

修改配置文件mod_fastdfs.conf:

修改以下配置:
   

1

2

3

4

5

6

7

connect_timeout=10

     base_path=/tmp

     tracker_server=ip01:22122

     storage_server_port=23000

     group_name=group1

     url_have_group_name = true

     store_path0=/software/FastDFS/storagedata  #与storage

配置文件存储路径一致

将这个文件复制到/etc/fdfs 目录中:

cd /usr/local/fastdfs-nginx-module/src/

cp mod_fastdfs.conf /etc/fdfs/

 

修改config文件:

vi /usr/local/fastdfs-nginx-module/src/config

只需修改第4行,修改如下:

CORE_INCS="$CORE_INCS /usr/include/fastdfs  /usr/include/fastcommon"

 

修改config文件:

vi /usr/local/fastdfs-nginx-module/src/config

只需修改第4行,修改如下:

CORE_INCS="$CORE_INCS /usr/include/fastdfs  /usr/include/fastcommon"

 

4.1          安装Nginx

注意:需要在每个storage上都安装nginx模块,因为默认是没有暴露http协议的,所以在每个的storage上都需要安装nginx来支持其http协议的访问。

4.1.1    安装依赖

centos :

yum install gcc gcc-c++ make automake autoconf libtool pcre* zlib openssl openssl-devel

 

 

4.1.2    安装

将软件包解压到/software/目录下,

tar -zxvf /home/packages/nginx-1.13.5.tar.gz-C /software/

编译安装:

cd /software/nginx-1.13.5

./configure --with-http_ssl_module --add-module=/usr/local/fastdfs-nginx-module/src

 

make

make install

 

4.1.3    拷贝配置文件http.conf和mime.types

cp /software/FastDFS/conf/http.conf /software/FastDFS/conf/mime.types /etc/fdfs/

4.1.1      建立软链接

在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据的目录:

cd /software/FastDFS/storagedata

Ln -s /software/FastDFS/storagedata/data  /software/FastDFS/storagedata/data/M00

4.2          配置Nginx

/usr/local/nginx  修改config

user nobody;

worker_processes 1;

events {

    worker_connections 1024;

}

http {

    include mime.types;

    default_type application/octet-stream;

    sendfile on;

    keepalive_timeout 65;

    server {

        listen 8888;

        server_name localhost;

        location ~/group([0-9])/M00 {

            ngx_fastdfs_module;

        }

        error_page 500 502 503 504 /50x.html;

 

        location = /50x.html {

            root html;

        }

    }

}


4.3          启动nginx

/usr/local/nginx/sbin/nginx

 

4.4          上传测试

修改client.conf文件,修改如下:
         base_path=/home/yuqing/fastdfs--> base_path= /software/FastDFS/storagedata  
         tracker_server=192.168.209.121:22122 --> tracker_server= tracker_server=192.168.56.101:22122  
         http.tracker_server_port=80 ->http.tracker_server_port=8888  
执行上传:
fdfs_test /software/FastDFS/conf/client.conf upload /software/FastDFS/client/2.jpg
 

防火墙开启

firewall-cmd--zone=public --add-port=8888/tcp –permanent

firewall-cmd--reload

附录:

常用的命令

1.启动tracker     fdfs_trackerd/etc/fdfs/tracker.conf start

sudo fdfs_trackerd/etc/fdfs/tracker.conf restart

2.启动storage    fdfs_storaged/etc/fdfs/storage.conf start

sudo fdfs_storaged/etc/fdfs/storage.conf restart

3.启动storage中的nginx    

/usr/local/nginx/sbin/nginx<br>(重启Nginx的命令为:/usr/local/nginx/sbin/nginx -s reload)

sudo /usr/local/nginx/sbin/nginx

4.上传文件    
修改client.conf文件,修改如下:
         base_path=/home/yuqing/fastdfs--> base_path= /software/FastDFS/storagedata  
         tracker_server=192.168.209.121:22122 --> tracker_server= tracker_server=192.168.56.101:22122  
         http.tracker_server_port=80 ->http.tracker_server_port=8888  
执行上传:
fdfs_test /software/FastDFS/conf/client.conf upload /software/FastDFS/client/2.jpg
 

5.查看storage和tracker状态    sudo fdfs_monitor/etc/fdfs/storage.conf

6.查看监控端口   sudo netstat -unltp|grep fdfs

 

 

 

 

 

6.linux cd命令使用小技巧: 

cd     进入用户主目录;

cd  ~  进入用户主目录;

cd  -  返回进入此目录之前所在的目录;

cd  .. 
返回上级目录(若当前目录为“/“,则执行完后还在“/"".."为上级目录的意思);注意用空格隔开

cd ../..  返回上两级目录;

cd  !$  把上个命令的参数作为cd参数使用。

以上是linux cd命令与DOScd命令的区别。

 

参考:

http://www.cnblogs.com/cnmenglang/p/6251696.html

完整安装包及安装说明+.net客户端

http://download.csdn.net/download/malongning/10121921


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值