您的位置:首页 > 运维架构 > Linux

CentOS7安装FastDFS

2021-01-30 20:06 92 查看

#CentOS7安装FastDFS

1. 安装依赖

  1. GCC

  2. unZip

  3. libevent

    sudo yum -y install libevent
  4. 安装

    libfastcommon-master
    这个没有yum包,只能通过编译安装:

  • 解压刚刚上传的

    libfastcommon-master.zip

    unzip libfastcommon-master.zip
  • 进入解压完成的目录:

    cd libfastcommon-master
  • 编译并且安装:

    sudo ./make.sh
    sudo ./make.sh install

2. 编译安装

  • 解压

    tar -xvf FastDFS_v5.08.tar.gz
  • 进入目录

    cd FastDFS
  • 编译并安装

    sudo ./make.sh
    sudo ./make.sh install
  • 校验安装结果 我们能在

    /etc/init.d/
    目录,通过命令
    ll /etc/init.d/ | grep fdfs
    看到FastDFS提供的启动脚本: 其中:

  • fdfs_trackerd
    是tracker启动脚本

  • fdfs_storaged
    是storage启动脚本

我们可以在

/etc/fdfs
目录,通过命令
ll
查看到以下配置文件模板: 其中:

  • tarcker.conf.sample
    是tracker的配置文件模板
  • storage.conf.sample
    是storage的配置文件模板
  • client.conf.sample
    是客户端的配置文件模板

3. 启动tracker

FastDFS的tracker和storage在刚刚的安装过程中,都已经被安装了,因此我们安装这两种角色的方式是一样的。不同的是,两种需要不同的配置文件。

我们要启动tracker,就修改刚刚看到的

tarcker.conf
,并且启动
fdfs_trackerd
脚本即可。

  • 编辑tracker配置

首先我们将模板文件进行赋值和重命名:

sudo cp tracker.conf.sample tracker.conf
sudo vim tracker.conf

打开

tracker.conf
,修改
base_path
配置:

base_path=/home/phone/fdfs/tracker
  • 创建目录

刚刚配置的目录可能不存在,我们创建出来

sudo mkdir -p /home/phone/fdfs/tracker
  • 启动tracker

    我们可以使用

    sh /etc/init.d/fdfs_trackerd
    启动,不过安装过程中,fdfs已经被设置为系统服务,我们可以采用熟悉的服务启动方式:

sudo service fdfs_trackerd start # 启动fdfs_trackerd服务,停止用stop

另外,我们可以通过以下命令,设置tracker开机启动:

sudo chkconfig fdfs_trackerd on

4. 启动storage

我们要启动tracker,就修改刚刚看到的

tarcker.conf
,并且启动
fdfs_trackerd
脚本即可。

  • 编辑storage配置

首先我们将模板文件进行赋值和重命名:

sudo cp storage.conf.sample storage.conf
sudo vim storage.conf

打开

storage.conf
,修改
base_path
配置:

base_path=/home/phone/fdfs/storage # storage的数据和日志存放目录
store_path0=/home/phone/fdfs/storage # storage的上传文件存放路径
tracker_server=192.168.1.8:22122 # tracker的地址我的虚拟机地址192.168.1.8

!!! 请把上面注解部分在写storage.con的时候删掉,启动storage不报错但是没有storage的进程

  • 创建目录

刚刚配置的目录可能不存在,我们创建出来

sudo mkdir -p /home/phone/fdfs/storage
  • 启动storage

    我们可以使用

    sh /etc/init.d/fdfs_storaged
    启动,同样我们可以用服务启动方式:

sudo service fdfs_storaged start  # 启动fdfs_storaged服务,停止用stop

另外,我们可以通过以下命令,设置tracker开机启动:

sudo chkconfig fdfs_storaged on

最后,通过

ps -ef | grep fdfs
查看进程:

上面的启动是因为storage.conf的配置文件问题,删掉修改部分的注解后(或者不要将注解与代码在同一行)成功运行

不要在配置后面加注解

5.配置nginx

1. 配置FastDFS的nginx模块

  • 解压

    tar -xvf fastdfs-nginx-module_v1.16.tar.gz
  • 配置config文件

    # 进入配置目录
    cd /home/phone/fastdfs-nginx-module/src/
    # 修改配置
    vim config
    # 执行下面命令(将配置中的/usr/local改为/usr):
    :%s+/usr/local/+/usr/+g
  • 配置mod_fastdfs.conf

    # 将src目录下的mod_fastdfs.conf复制到 /etc/fdfs目录:
    sudo cp mod_fastdfs.conf /etc/fdfs/
    # 编辑该文件
    sudo vim /etc/fdfs/mod_fastdfs.conf
  • 修改一下配置:

    connect_timeout=10 # 客户端访问文件连接超时时长(单位:秒)
    tracker_server=192.168.1.8:22122 # tracker服务IP和端口我的虚拟机地址192.168.1.8
    url_have_group_name=true # 访问链接前缀加上组名
    store_path0=/home/phone/fdfs/storage # 文件存储路径
  • 解压FastDFS并复制 FastDFS的部分配置文件到/etc/fdfs目录

    cd /home/leyou/fdfs/FastDFS/conf/
    cp http.conf mime.types /etc/fdfs/

2. 配置添加了FastDFS模块的的nginx编译替换

sudo ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/home/phone/fastdfs-nginx-module/src 根据自己的文件路径了启动路径去编译

sudo ./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --add-module=/home/phone/fastdfs-nginx-module/src

--prefix:可以通过

whereis nginx
找到安装路径 --sbin:启动文件 --add-module:新加模块的src文件 其他详细参数参考nginx 编译参数详解(运维不得不看)

已经安装过nginx,只编译不安装

sudo make

找到nginx安装位置

whereis nginx

备份:

sudo mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bck

用刚刚编译的nginx替换之前安装的nginx

sudo cp /home/phone/nginx-1.10.0/objs/nginx /usr/local/nginx/sbin/

3. 修改nginx配置文件

usr/local/nginx/conf

4. 重启nginx(在启动目录下
/usr/local/nginx/sbin/
)

sudo  ./nginx -s reload

errrrrrrror

1. 直接访问/路径没问题,上传图片没问题,读取出问题

去当时配置存储目录找到对应的文件

storage/data/00/00//wKgBCGAXyYOAIAaPAAEIpEESHNc725.jpg
有文件说明上传没问题, 在nginx服务下有配置
/
根路径显示 index.html(nginx默认欢迎页) 访问 说明nginx配置没问题 猜想应该是fdfs_storage有问题 查看fdfs_storage的日志,有如下错误: 上面更新了该配置文件如何解决,我将这两个配置文件复制过去解决 继续访问图片出现第二个问题: 权限问题,该目录无法访问, 于是我将fdfs整个文件提升权限
chmod 777 -R fdfs
还是不行, 经过查资料关于nginx集合fastdfs时http请求无法访问,nginx的权限问题。--青古一梦 去nginx.conf配置 配置
user root
还是不行,启动直接报错

注意注解上的配置有分号 加上分号,可以访问!!! over!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: