linux CentOS7安装FastDFS环境

    技术2022-07-16  85

    参考https://www.cnblogs.com/chiangchou/p/fastdfs.html 参考https://www.cnblogs.com/handsomeye/p/9451568.html

    第一步 配置FastDFS基础环境(libfastcommon)

    1.下载libfastcommon相应版本:

    wget https://codeload.github.com/happyfish100/libfastcommon/tar.gz/V1.0.43

    备注:wget 如果命令不可用 则:使用以下命令

    yum -y install wget

    2.解压安装包:

    tar -zxvf V1.0.43

    3.进入目录:

    cd libfastcommon-1.0.43

    4.执行编译:

    ./make.sh

    备注:(这句话可能会提示 gcc common not found,以下命令安装gcc)

    yum install gcc

    然后输入 y 确定,待下载完成之后重新执行第四步

    5.安装:

    ./make.sh instal

    第二步 配置FastDFS

    1 先返回根目录,以免还在 libfastcommon目录里,如图

    [root@localhost /] #

    2 下载FastDFS版本(如果连接失败,重新运行几次应该就好了)

    wget https://codeload.github.com/happyfish100/fastdfs/tar.gz/V6.06

    3 解压安装包:

    tar -zxvf V6.06

    4 进入目录:

    cd fastdfs-6.06

    5 执行编译:

    ./make.sh

    6 安装:

    ./make.sh install

    备注:如果第5步和第6步错误,提示perl 命令没有找到, 则回到跟目录,下载perl

    参考 https://blog.csdn.net/qq_35439782/article/details/79790027

    1 wget https://www.cpan.org/src/5.0/perl-5.24.4.tar.gz //下载perl 2 tar -zxvf perl-5.24.4.tar.gz //解压 3 cd perl-5.24.4 //解压完成之后进入 4 ./Configure -des -Dprefix=/usr/local/perl //执行 (可能是配置安装的意思) 5 make install //执行 (执行make命令我这不管用,所以用make install) 6 perl –v //检查是否安装成功

    下方也是一种安装perl方式:参考 https://blog.csdn.net/qq_38446413/article/details/106240804 yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

    如果有这个错误 undefined reference to ''g_exe_name 则 ./make.sh clean清除,从新运行。参考https://blog.csdn.net/qq_38572383/article/details/86689396

    第三步 配置FastDFS跟踪器(Tracker)

    1 进入/etc/fdfs目录,有多个.sample后缀的文件(自动生成的fdfs模板配置文件),拷贝一份tracker.conf.sample,然后再删除tracker.conf.sample文件,相当于修改了一下名字:

    cp tracker.conf.sample tracker.conf rm -rf tracker.conf.sample

    2 编辑 tracker.conf文件,修改相关参数

    vi tracker.conf

    修改以下三项

    port=22122 #tracker默认 不用修改 base_path=/home/fastdfs/tracker #tracker存储data和log的跟路径,必须提前创建好 http.server_port=80 #http端口,需要和nginx相同

    3 返回根目录,然后进入home文件夹下,执行以下命令 即配置的base_path

    mkdir fastdfs cd fastdfs mkdir tracker

    4.启动Tracker, 初次成功启动,会在/home/fastdfs/tracker (配置的base_path)下创建 data、logs 两个目录。

    service fdfs_trackerd start

    5 查看 FastDFS Tracker 是否已成功启动 ,22122端口正在被监听,则算是Tracker服务安装成功。

    netstat -unltp|grep fdfs

    备注:如果netstat命令的时候报command not found,则执行yum install net-tools

    6 停止该端口

    service fdfs_trackerd stop

    7 设置Tracker开机启动(两种方式)

    第一种

    chkconfig fdfs_trackerd on

    第二种:

    vi /etc/rc.d/rc.local

    加入配置,保存退出

    /etc/init.d/fdfs_trackerd start

    第四步 配置 FastDFS 存储 (Storage)

    1.同第三步第1一样

    cd /etc/fdfs cp storage.conf.sample storage.conf rm -rf storage.conf.sample

    2 进入编辑模式

    vi storage.conf //修改以下内容 base_path=/home/fastdfs/storage #storage根路径 store_path0=/home/fastdfs/storage tracker_server= 172.16.0.129:22122 #tracker所在机器的ip:端口

    3 返回根目录创建base_path目录 在home文件夹下

    mkdir fastdfs cd fastdfs //这两步第三步已经创建了,所以直接进入到该目录,然后直接用下一步命令即可 mkdir storage //创建storage根路径

    4 启动Tracker 初次成功启动,会在/home/fastdfs/tracker (配置的base_path)下创建 data、logs 两个目录。

    注意:启动之前 Tracker必须先启动 service fdfs_trackerd start service fdfs_storaged start

    5 查看 Storage 是否成功启动,23000 端口正在被监听,就算 Storage 启动成功。

    netstat -unltp|grep fdfs

    6 关闭Storage命令:

    service fdfs_storaged stop

    7 设置 Storage 开机启动

    chkconfig fdfs_storaged on

    第五步 文件上传测试

    1 进入/etc/fdfs目录,有cp命令拷贝client.conf.sample,删除.sample后缀作为正式文件,同上

    cd /etc/fdfs cp client.conf.sample client.conf vi client.conf

    2 进入编辑模式,修改如下配置即可

    base_path=/home/fastdfs/client/ tracker_server=172.16.0.129:22122 //tracker服务器IP地址和端口号 http.tracker_server_port=80 # tracker服务器的http端口号,必须和tracker的设置对应起来

    3 上传文件,在当前目录下新建文件 1.txt

    /usr/bin/fdfs_upload_file /etc/fdfs/client.conf 1.txt

    返回 grounp1/M00 /00/00/ wCKJKllkakdsalsdmnkfasdfac2asdf.txt 组名 磁盘 矩阵目录 文件名

    4 查看结果,进入storage的data目录:

    第六步 安装Nginx和fastdfs-nginx-module模块

    上面将文件上传成功了,但我们无法浏览,下载。因此安装Nginx作为服务器以支持Http方式访问文件。 同时,后面安装FastDFS的Nginx模块也需要Nginx环境。

    Nginx只需要安装到StorageServer所在的服务器即可,用于访问文件。我这里由于是单机,TrackerServer和StorageServer在一台服务器上。

    查看是否安装某包 yum list installed | grep “gcc”

    准备: 在安装nginx前首先要确认系统中安装了gcc、pcre-devel、zlib-devel、openssl-devel。否则下面将会有错误

    yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

    一 安装Nginx

    1 下载Nginx

    wget http://nginx.org/download/nginx-1.18.0.tar.gz

    2 解压

    tar -zxvf nginx-1.18.0.tar.gz

    3 配置到/usr/local文件夹下

    cd nginx-1.18.0 ./configure --prefix=/usr/local/nginx (需要下载pcre-devel,zlib-devel库)

    4 编译 安装

    make make install

    5 查看是否安装成功

    cd /usr/loca/nginx/ //进入改文件夹下 ./sbin/nginx -t //执行

    6 启动nginx

    cd /usr/local/nginx/sbin/ ./nginx

    其他命令

    ./nginx -s stop #此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程 ./nginx -s quit #此方式停止步骤是待nginx进程处理任务完毕进行停止 ./nginx -s reload

    7 在浏览器中测试

    在浏览器中输入文件服务器的ip地址,如:172.16.0.129 。正常情况下 是访问不到的 解决:nginx 端口号默认80,需要把80端口开放 端口开放示例 端口号改成80即可 访问成功如下

    自定义路径,使其可以访问到图片

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

    添加如下行,将 /group1/M00 映射到 /home/fastdfs/storage/data(自己设置的srotrage 下data路径)

    location /group1/M00 { alias /home/fastdfs/storage/data; //注意冒号 }

    重启nginx

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

    8 设置开机启动

    vi /etc/rc.local

    二 安装配置fastdfs-nginx-module模块

    1 fastdfs-nginx-module 模块说明

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

    假设 Tracker 服务器将文件上传到了 192.168.51.128,上传成功后文件 ID已经返回给客户端。

    此时 FastDFS 存储集群机制会将这个文件同步到同组存储 192.168.51.129,在文件还没有复制完成的情况下,客户端如果用这个文件 ID 在 192.168.51.129 上取文件,就会出现文件无法访问的错误。

    而 fastdfs-nginx-module 可以重定向文件链接到源服务器取文件,避免客户端由于复制延迟导致的文件无法访问错误。

    2 下载

    wget https://codeload.github.com/happyfish100/fastdfs-nginx-module/tar.gz/V1.22

    3 解压

    tar -zxvf V1.22

    4 配置Nginx,进入nginx目录 注意:是上一步的Nginx目录不是刚刚解压的fastdfs-nginx-module

    cd nginx-1.18.0

    先停掉nginx服务

    /usr/local/nginx/sbin/nginx -s stop

    添加模块

    ./configure --add-module=/fastdfs-nginx-module-1.22/src //刚刚下载的fastdfs-nginx-module目录

    重新编译、安装

    make make install

    查看Nginx的模块

    /usr/local/nginx/sbin/nginx -V

    出现以下则是成功

    5 复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录, 并修改

    cd /fastdfs-nginx-module-1.22/src cp mod_fastdfs.conf /etc/fdfs/

    修改 etc/fdfs/mod_fastdfs.conf

    tracker_server=10.122.149.211:22122 #tracker的地址 url_have_group_name=true #url是否包含group名称 store_path0=/home/fastdfs/storage #文件存储的位置

    6 配置nginx,修改nginx.conf

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

    添加

    location ~/group([0-9])/M00 { root /home/fastdfs/storage/data; ngx_fastdfs_module; }

    7 将FastDFS配置目录下的2个文件复制到/etc/fdfs目录下:

    cp /fastdfs-6.06/conf/http.conf /etc/fdfs/ //前边是fastdfs下载的路径 cp /fastdfs-6.06/conf/mime.types /etc/fdfs/

    8 启动nginx

    /usr/local/nginx/sbin/nginx

    成功标志如下图:

    Processed: 0.013, SQL: 9