zoukankan      html  css  js  c++  java
  • LINUX下安装fastDFS

    Linux下的安装部署fastdfs,需要分别安装fastdfs-nginx-module、fastdfs、nginx、libfastcommon。

    首先需要装备安装包以及一个干净的linux服务器,安装包可以自己下载 https://sourceforge.net/projects/fastdfs/files/ 。

    也可以点击下面的百度云盘获取:

    链接:https://pan.baidu.com/s/1qrVrI19TrEcjTjawk79-eg
    提取码:upcj

    一、准备工作

    1,安装gcc(编译时需要)

    yum install -y gcc gcc-c++

    2,安装libevent(运行时需要)

    yum -y install libevent

     

    3,安装创建目录,上传所有文件

    mkdir -p /fileservice/fast

    cd /fileservice/fast

    二、安装libfastcommon

    1、进入fast目录:

    cd /fileservice/fast

     2、解压文件:

    tar -zxvf libfastcommon-1.0.35.tar.gz

    3、进入libfast文件目录:

    cd libfastcommon-1.0.35

    4、执行编译:

    ./make.sh

    5、安装:

    ./make.sh install

     三、安装fastDFS

    1、安装相关依赖库(依次执行下面的命令):

    yum install perl
    yum install pcre
    yum install pcre-devel
    yum install zlib
    yum install zlib-devel
    yum install openssl
    yum install openssl-devel

    2、进入fast目录:

    cd /fileservice/fast

    3、解压文件:

    tar -zxvf fastdfs-5.11.tar.gz

    4、进入解压后的目录:

    cd fastdfs-5.11

    5、执行编译:

    ./make.sh

    6、安装:

    ./make.sh install

     7、查看tracker和storage的可执行脚本(后面有用):

    ll /etc/init.d/ | grep fdfs

    8、准备配置文件  默认在/etc/fdfs/下面:

    cd /etc/fdfs/

     9、先把配置文件名中的sample去了。[可以复制一份]:

    cp client.conf.sample client.conf
    cp storage.conf.sample storage.conf
    cp storage_ids.conf.sample storage_ids.conf
    cp tracker.conf.sample tracker.conf

     10、然后修改tracker的存放数据和日志的目录:

    mkdir -p /home/dongl/fastdfs/tracker

    11、配置和启动tracker,切换目录到: /etc/fdfs/ 目录下:

    cd /etc/fdfs/

    12、修改tracker.conf

    vi tracker.conf

    base_path=/home/yuqing/fastdfs 改为: base_path=/home/dongl/fastdfs/tracker

    13、启动tracker,运行如下命令:

    service fdfs_trackerd start

     注意:在/home/dongl/fastdfs/tracker 目录下生成两个目录, 一个是数据,一个是日志;

    cd /home/dongl/fastdfs/tracker

    14、 配置和启动storage,切换目录到: /etc/fdfs/ 目录下:

    cd /etc/fdfs/

    15、修改storage.conf:

    vi storage.conf

    group_name=group1 #配置组名

    base_path=/home/yuqing/fastdfs 改为: base_path=/home/dongl/fastdfs/storage

    #store存放文件的位置(store_path)

    store_path0=/home/yuqing/fastdfs 改为: store_path0=/home/dongl/fastdfs/storage

    如果有多个挂载磁盘则定义多个store_path,如下

    store_path1=.....

    store_path2=......

    配置tracker服务器:IP

    tracker_server=xx.xx.xx.xx:22122

    如果有多个则配置多个tracker

    16、创建/home/dongl/fastdfs/storage 目录

    mkdir -p /home/dongl/fastdfs/storage

    17、启动storage, 运行命令如下:

    service fdfs_storaged start

    18、启动完成后进入 /home/dongl/fastdfs/storage/data 目录下,显示目录如下:

    cd /home/dongl/fastdfs/storage/data

    19、切换目录到 /etc/fdfs/ 目录下

    cd /etc/fdfs/

    20、修改client.conf :

    vi client.conf

    修改基本路径和tracker_server如下:

    /home/dongl/fastdfs/storage

    注意:若tracker有多个,可以配置多个,如下:

    #tracker_server=......

    #tracker_server=......

    21、下面简单测试一下:

    拷贝一张图片dl.jpg到服务器上的 /root/目录下

    运行如下(运行测试程序,读取/etc/fdfs/client.conf 文件,上传/root/目录下的dl.jpg文件)

    /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/dl.jpg

    以上图中的文件地址:http://192.168.10.41/group1/M00/00/00/wKgKKWDmWeCAEDp2AANnVZ-mwTQ449.jpg

    对应storage服务器上的/home/dongl/fastdfs/storage/data/00/00/wKgKKWDmWeCAEDp2AANnVZ-mwTQ449.jpg 文件;

    到这里fastDFS就已经安装完了,但是还没有与nginx整合,无法通过http下载。

    四、FastDFS 和nginx整合

     在每个tracker上安装nginx,的主要目的是做负载均衡及实现高可用。如果只有一台tracker可以不配置nginx。

     一个tracker对应多个storage,通过nginx对storage负载均衡。

    1、在storage 上安装nginx------进入 fileservice/fast/ :

    cd /fileservice/fast/

    2、解压fastdfs-nginx-module-1.20.tar.gz

    tar -zxvf  fastdfs-nginx-module-1.20.tar.gz

    3、切换目录到: fastdfs-nginx-module-1.20/src 目录下:

    cd fastdfs-nginx-module-1.20/src

    4、修改config文件,将文件中的所有 /usr/local/ 路径改为 /usr/:

    修改之后ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"

    vi config

    5、将fastdfs-nginx-module/src下的mod_fastdfs.conf拷贝至/etc/fdfs/下:

    cp mod_fastdfs.conf /etc/fdfs/

    6、并修改 /etc/fdfs/mod_fastdfs.conf 的内容:

    vi /etc/fdfs/mod_fastdfs.conf

    tracker_server=192.168.xx.xx:22122 

    tracker_server=192.168.172.20:22122 #(多个tracker配置多行)

    url_have_group_name=true #url中包含group名称

    store_path0=/home/fdfs_storage #指定文件存储路径(上面配置的store路径)

    7、进入之前解压的fastdfs目录下,把http.conf、mime.conf移动至/etc/fdfs

    cd /fileservice/fast/fastdfs-5.11/conf/

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

    8、Nginx的安装------进入/fileservice/fast/:

    cd /fileservice/fast/

    9、解压 nginx-1.15.2.tar.gz

    tar -zxvf nginx-1.15.2.tar.gz

    10、进入nginx解压的目录下:

    cd nginx-1.15.2/

    11、加入模块命令配置:

    ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/fileservice/fast/fastdfs-nginx-module-1.20/src

    12、编译并安装:

    make && make install

    13、修改nginx配置:

    cd /opt/nginx/conf
    vi nginx.conf

     14、启动nginx:

    cd /usr/bin/
    ./nginx

    15、在浏览器中访问上传到fastDFS的图片:

    因为Centos系统有防火墙,需要先关闭掉,才可以在浏览器中访问;

    CentOS 7.0默认使用的是firewall作为防火墙;若没有启用iptables 作为防火墙,则使用以下方式关闭防火墙:

    systemctl stop firewalld.service #停止firewall
    
    systemctl disable firewalld.service #禁止firewall开机启动

    firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

    若已经启用iptables作为防火墙,则使用以下方式关闭:

    service iptables stop #临时关闭防火墙
    
    chkconfig iptables off #永久关闭防火墙

    在谷歌浏览器中或者直接用postman访问刚才上传的图片:

    http://192.168.10.41/group1/M00/00/00/wKgKKWDmWeCAEDp2AANnVZ-mwTQ449.jpg

  • 相关阅读:
    多线程与Socket编程
    正则表达式
    委托事件泛型
    C#基础加强
    随笔
    不设置JAVA_HOME运行eclipse
    CentOS7.x系统中使用Docker时,在存储方面需要注意的问题
    【转】关于高可用负载均衡的探索-基于Rancher和Traefic
    Rancher 容器管理平台-免费视频培训-链接及内容-第三季
    使用Rancher的RKE快速部署Kubernetes集群
  • 原文地址:https://www.cnblogs.com/dongl961230/p/14983515.html
Copyright © 2011-2022 走看看