FastDFS安装配置-超详细版

一、环境

CentOS 6.9
libfastcommon-1.0.38
FastDFS_V5.11.tar.gz
nginx-1.8.1.tar.gz
fastdfs-nginx-module_v1.16.tar.gz

二、FastDFS安装

1、安装libfastcommon

操作步骤:
    前提

  • 因为libfastcommon使用C语言写的,所以我们先要安装gcc编译器:yum -y install gcc-c++
  • FastDFS依赖libevent库,需要安装:yum -y install libevent
    libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS运行所需要的一些基础库。
  • 新建目录:mkdir /fastdfs ; 我是在新建的目录下安装的FastDFS:
           备注:查看别人写的文档,他们喜欢在/usr/local/ 新建fastdfs或其他名称的目录来安装软件,看你心情,我觉得自己记得住都可以。
1. 下载 libfastcommon 安装包
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.38.tar.gz
2. 解压
tar -zxvf V1.0.38.tar.gz
3. 进入目录
cd /fastdfs/libfastcommon-1.0.38
4. 执行编译
./make.sh
5. 安装
./make.sh install

2、FastDFS安装与配置

2.1、安装FastDFS

2.1.1FastDFS基本安装

1.下载FastDFS 安装包
wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz
2.解压
tar -zxvf V5.11.tar.gz
3.进入目录
cd /fastdfs/fastdfs-5.11
4. 执行编译
./make.sh
5. 安装
./make.sh install

安装目录展示:
在这里插入图片描述
顺便之前下面复制操作,以免遗忘。
2.1.2复制配置文件到 /etc/fdfs

cp -r /fastdfs/fastdfs-5.11/conf/http.conf /etc/fdfs/
cp -r /fastdfs/fastdfs-5.11/conf/mime.types /etc/fdfs/

配置FastDFS服务之前的准备工作:
安装完成之后:在配置下面之前做需要完成以下步骤:
a.进入 /etc/fdfs/ 目录 ,命令: cd /etc/fdfs/
b.有三个.sample后缀的文件(自动生成的fdfs模板配置文件),通过cp命令拷贝:

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

效果展示:
在这里插入图片描述

2.2、配置Tracker服务

2.2.1.Tracker基本配置

1、创建目录用来存储Tracker的数据文件和日志文件;目录建立在 /opt 下
    mkdir /opt/fastdfs_tracker
2、进入 /etc/fdfs , 在该目录下 编辑tracker.conf 配置文件;命令:vi tacker.conf
    编辑内容:
	disabled=false   #启用配置文件(默认启用)
	port=22122    #设置tracker的端口号,通常采用22122这个默认端口
	base_path=/opt/fastdfs_tracker   #设置tracker的数据文件和日志目录
	http.server_port=80   #设置http端口号,默认为8080

2.2.2.创建软连接
      首次启动服务,fdfs_trackerd等命令在/usr/local/bin中并没有,而是在/usr/bin路径下,创建软连接,命令如下:

ln -s /usr/bin/fdfs_trackerd /usr/local/bin
ln -s /usr/bin/stop.sh /usr/local/bin
ln -s /usr/bin/restart.sh /usr/local/bin

2.2.3.启动Tracker服务器

扫描二维码关注公众号,回复: 10023452 查看本文章
service fdfs_trackerd start

效果展示:
在这里插入图片描述
2.2.4.检查创建的tracker文件目录

cd /opt/fastdfs_tracker

在这里插入图片描述

2.3、配置storage服务

2.3.1.storage基本配置

1、创建storage存放目录
    mkdir /opt/fastdfs_storage
    mkdir /opt/fastdfs_storage_data
2、进入 /etc/fdfs , 在该目录下 编辑storage.conf配置文件;命令:vi storage.conf
    编辑内容:
	disabled=false  #启用配置文件(默认启用)
	group_name=group1 #组名,根据实际情况修改
	port=23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致
	base_path=/opt/fastdfs_storage #设置storage数据文件和日志目录
	store_path_count=1 #存储路径个数,需要和store_path个数匹配
	store_path0=/opt/fastdfs_storage_data   #实际文件存储路径
	tracker_server=118.25.215.105:22122   #tracker 服务器的 IP地址和端口号,如果是单机搭建,IP不要写127.0.0.1,否则启动不成功(此处的ip是我的CentOS虚拟机ip)
	http.server_port=8888   #设置 http 端口号

2.3.2.启动脚本设置软引用

ln -s /usr/bin/fdfs_storaged /usr/local/bin

2.3.3.启动storage服务

service fdfs_storaged start

效果展示:
在这里插入图片描述
启动成功,/opt/fastdfs_storage中就可以看到启动后新生成的data和logs目录。

2.3.4.查看端口情况:netstat -apn|grep fdfs
在这里插入图片描述
2.3.5.查看storage是否成功绑定

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

在这里插入图片描述
上图所示:ip_addr = 118.25.215.105 ACTIVE 字样即可说明storage服务器已经成功登记到了tracker服务器

2.4、fastDFS测试

2.4.1修改客户端 client.conf 配置文件

  tracker_server=118.25.215.105:22122   #tracker服务器文件路径
  base_path=/opt/fastdfs_tracker    #tracker服务器文件路径
  http.tracker_server_port=80     #与tracker.conf 配置的http端口号一致

2.4.2上传文件测试
在/opt 目录下存放图片1-191122143IQH.jpg,方法:wget命令 在网上下载一张图片。

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/1-191122143IQH.jpg

在这里插入图片描述
         如果之前的步骤没有问题的话,上传图片,会返回图片 的存储路径,如上图所示。说明fastDFS基本上安装成功
         但是我们想通过浏览器http 的协议却访问不了。原因:FastDFS目前已不支持http协议,所以此处在nginx上使用FastDFS的模块fastdfs-nginx-module。因此需要以下的安装。

3、安装nginx

3.1.nginx安装说明
前提:创建nginx存放文件目录,本人的存放再 /data/nginx
mkdir /data/nginx 创建存放目录
cd /data/nginx 查看该目录
ps:网上安装nginx大多是存放再/usr/local 的目录下,如果跟我一样喜欢自己安排存放地址,那么注意一些命令的地址路径保持正确,一致。我就踩坑很久没有爬上岸

1、下载nginx安装包
  wget http://nginx.org/download/nginx-1.15.2.tar.gz
2、解压 
  tar -zxvf nginx-1.15.2.tar.gz
3、进入nginx目录,查看(这是我自己的解压文件存放的目录,需要mkdir命令创建)
  cd /data/nginx/nginx-1.15.2
4、编译环境
依次执行如下四条命令即可:
    yum install gcc-c++ 
    yum install -y pcre pcre-devel
    yum install -y zlib zlib-devel
    yum install -y openssl openssl-devel
5、编译及安装 命令
   进入nginx目录下:
     cd /data/nginx/nginx-1.15.2   (进入nginx目录下)
   运行configure文件:
     ./configure
   安装:
     make
     make install 

3.2.启动nginx服务:
注:这里对应自己的安装nginx的路径,不要随便复制网上的/usr/local/nginx/sbin/nginx,那是别人安装再路径下

/data/nginx/nginx-1.15.2/sbin/nginx

nginx安置完成后的多出几个文件:
在这里插入图片描述
3.3.配置nginx.conf 文件
注:我自己的nginx.conf 文件 是在/data/nginx/nginx-1.15.2/conf 安装目录下。

server {
        listen   5555;
        location ~/group1/M00 {
            root /opt/fastdfs_storage_data/data;
            ngx_fastdfs_module;
       }
 }

温馨帮助:
看端口: netstat -ntlp
看进程: ps -ef|grep nginx

4、fastdfs-nginx-module模块

4.1.fastdfs-nginx-module下载解压

1、下载fastdfs-nginx-module
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.20.tar.gz
2、解压fastdfs-nginx-module:(==目录我自己选好,是/data/nginx; 如果参考的话需要自己创建==)
tar -xvf V1.20.tar.gz

4.2.复制配置文件到 /etc/fdfs

cp -r /data/nginx/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs

4.3.nginx加载fastdfs-nginx-module模块
注:1.要是安装的目录,2.要进入nginx目录下执行

./configure --prefix=/data/nginx/nginx-1.15.2 --add-module=/data/nginx/fastdfs-nginx-module-1.20/src
make
make install 

4.4.配置mod_fastdfs.conf
是在/etc/fdfs目录下,mod_fastdfs.conf修改一下内容

base_path=/opt/fastdfs_storage #保存日志目录
tracker_server=118.25.215.105:22122   #tracker服务器的IP地址以及端口号
storage_server_port=23000   #storage服务器的端口号
url_have_group_name = true  #文件 url 中是否有 group 名
store_path0=/opt/fastdfs_storage_data  # 存储路径
group_count = 1 #设置组的个数

[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs_storage_data

5、http测试

浏览器输入地址:ip+端口号+ 文件路径
http://118.25.215.105:5555/group1/M00/00/00/rBsABl3mUTyAaf4PAACn_gKysM4777.jpg
在这里插入图片描述

三、踩坑剪辑

1、文件上传成功,浏览器无法访问

  1. 检查mod_fastdfs.conf中的配置是否 出错
  2. nginx 日志报错情况
  3. 我的踩坑ps:
          我按照自己的意志选择目录安装nginx,却参照网上的资料在输入命令没有改变目录路径,也是由于自己不懂,不敢瞎改。导致报错,不断修改,下载俩nginx,导致配置错了地方,心塞,搞了很久,所以我在安装路径方面都有提示。

2、安装报错解决

  1. 报错信息:ERROR - file: connection_pool.c, line: 130, connect to 118.25.215.105:22122 fail, errno: 113, error info: No route to host
    解决方案:
           关闭防火墙:sudo systemctl stop firewalld.service
发布了16 篇原创文章 · 获赞 3 · 访问量 526

猜你喜欢

转载自blog.csdn.net/outdata/article/details/103367445