Linux下FastDFS安装教程

一、环境准备

下载FastDFS安装包:
FastDFS下载地址:https://github.com/happyfish100/ 

 libfatscommon:FastDFS分离出的一些公用函数包

 FastDFS:FastDFS本体

 fastdfs-nginx-moduleFastDFSnginx的关联模块

下载Nginx安装包
下载地址:http://nginx.org/en/download....

 nginx用来提供访问服务

将下载好的安装包上传到服务器上

 

二、开始安装

以下安装步骤trackerstorage都要执行


1、安装基础环境

yum install -y gcc gcc-c++yum -y install libevent

2、解压libfatscommon函数库

# 解压tar -zxvf libfastcommon-1.0.43.tar.gz

3、进入libfastcommon文件夹,编译并且安装

./make.sh

./make.sh install

从控制台可以看到安装目录

 

4、解压fastdfs主程序文件

# 解压tar -zxvf fastdfs-6.06.tar.gz

5、进入fastdfs目录,安装fastdfs主程序

./make.sh

./make.sh install

从控制台可以看到主程序的安装目录

 

  • /usr/bin中包含了可执行文件:

 

  • /etc/fdfs包含了配置文件:

 

6、将安装文件夹下的配置文件拷贝到/etc/fdfs目录下

cp /etc/FastDFS/fastdfs/fastdfs-6.06/conf/* /etc/fdfs/

  

7配置tracker服务

1、说明
trackerstorage都是同一个fastdfs的主程序的两个不同概念,配置不同的配置文件就可以设定为tracker或者storage

2、配置tracker
/etc/fdfs下都是一些配置文件,配置tracker即可

vim tracker.conf

 

3、修改tracker配置文件中的tracker工作目录,保存数据以及日志

base_path=/usr/local/fastdfs/tracker

 

保存并退出,然后创建/usr/local/fastdfs/tracker目录

mkdir /usr/local/fastdfs/tracker -p

4、启动tracker服务

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start

检查进程如下:

ps -ef|grep tracker

 

启动成功!

5、停止tracker

/usr/bin/stop.sh /etc/fdfs/tracker.conf stop

8配置storage服务

1、修改storage配置文件

vim storage.conf

# 修改storage的工作空间base_path=/usr/local/fastdfs/storage

# 修改storage的存储空间store_path0=/usr/local/fastdfs/storage

# 修改tracker的地址和端口号,用于心跳tracker_server=192.168.0.170:22122

创建目录

mkdir /usr/local/fastdfs/storage -p

2、启动storage

启动storage欠必须先启动tracker

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start

检查进程如下:

ps -ef|grep storage

 

启动成功!

9测试上传

1、修改的client配置文件

vim client.conf

 

   base_path=/usr/local/fastdfs/client

   #tracker的ip根据实际tracker的ip地址配置

   tracker_server=192.168.0.170:22122

创建目录

mkdir /usr/local/fastdfs/client -p

2、测试
这里以上传/etc/fdfs目录下的anti-steal.jpg文件进行测试

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /etc/fdfs/anti-steal.jpg

 

报错,这里是因为tracker服务器的22122端口没开放,开放端口后重新上传

上传成功!这里remote_filename显示了上传后存储目录(在前面配置的storagestore_path0=/usr/local/fastdfs/storage)url为远程访问地址,这里还不能远程访问,配置了nginx模块后才能访问。

cd /usr/local/fastdfs/storage/data

  

 

 

三、配置 nginx

fastdfs安装好以后是无法通过http访问的,这个时候就需要借助nginx了,所以需要安装fastdfs的第三方模块到nginx中,就能使用了。

注:nginx需要和storage在同一个节点。

1、安装nginx插件

  • 解压nginxfastdfs压缩包

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

  • 进入解压后文件夹的src目录下,复制配置文件到fdfs目录下

 

 

 cp mod_fastdfs.conf /etc/fdfs

  • 修改/fastdfs-nginx-module/src/config文件,主要是修改路径,把local删除,因为fastdfs安装的时候我们没有修改路径,原路径是/usr

 

修改后

 

 

 

2、安装nginx
安装步骤参考:https://segmentfault.com/a/11...
注意:配置命令与该文章中略有不同,需要增加一个fastdfs-nginx-module模块,即下面的最后一行,以实际路径为准

mkdir -p /usr/local/log/nginx/

./configure \

--prefix=/usr/local/nginx \

--pid-path=/usr/local/nginx/nginx.pid \

--lock-path=/usr/local/nginx.lock \

--error-log-path=/usr/local/nginx/log/error.log \

--http-log-path=/usr/local/nginx/log/access.log \

--add-module=/etc/FastDFS/fastdfs-nginx-module/fastdfs-nginx-module-1.22/src

 

 

make && make install

3、修改mod_fastdfs.conf配置文件

 

 

 

vim mod_fastdfs.conf

base_path=/usr/local/fastdfs/tmp

#tracker地址

tracker_server=trackerIP:22122

url_have_group_name = true

store_path0=/usr/local/fastdfs/storage

 

创建base_path目录

mkdir /usr/local/fastdfs/tmp

 

4、修改nginx.conf,添加如下虚拟主机:

 

 

 

server {

    listen       8888;

    server_name  localhost;

 

    location /group1/M00 {

            ngx_fastdfs_module;

    }

}

5、启动nginx

四、验证是否安装成功

1、上传文件

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /etc/fdfs/anti-steal.jpg

 

 

 

2、在浏览器中输入http:ip:nginx端口/fastFDS返回的字符串

http://10.10.183.230:8888/group1/M00/00/00/Cgq35mGXUt6AMNkYAABdreSfEnY061_big.jpg

 

 

 

 

五、异常情况

[2021-11-19 14:55:43] DEBUG - base_path=/usr/local/fastdfs/client, connect_timeout=5, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0

 

[2021-11-19 14:55:43] ERROR - file: tracker_proto.c, line: 50, server: 10.10.183.230:22122, response status 28 != 0

[2021-11-19 14:55:43] ERROR - file: ../client/tracker_client.c, line: 1077, fdfs_recv_response fail, result: 28

[2021-11-19 14:55:43] ERROR - file: tracker_proto.c, line: 50, server: 10.10.183.230:22122, response status 28 != 0

[2021-11-19 14:55:43] ERROR - file: ../client/tracker_client.c, line: 899, fdfs_recv_response fail, result: 28

tracker_query_storage fail, error no: 28, error info: No space left on device

原因:

报错原因 tracker.conf 配置项 reserved_storage_space = 20%

 

解决办法:

删除/home/用户/log日志、/root/log/var/log

posted @ 2021-11-30 20:51  李荣洋  阅读(1412)  评论(0编辑  收藏  举报