• CentOS7安装FastDFS


    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!

    heroes never die!
  • 相关阅读:
    浅谈T-SQL中的特殊联结
    浅谈T-SQL中的联接查询
    对AccessViolationException的一些总结
    浅谈JavaScript中的定时器
    浅谈跨域
    浅谈JavaScript中的Ajax
    浅谈JavaScript中的能力检测
    c# webConfig中的session超时详细设置
    c# session总结
    重启sql server服务两种方式
  • 原文地址:https://www.cnblogs.com/daiSir/p/14350266.html
Copyright © 2020-2023  润新知