linux CentOS7 安装FastDFS环境

参考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

成功标志如下图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值