设为首页 收藏本站
查看: 1369|回复: 0

[经验分享] FastDFS安装和配置,整合Nginx-1.13.3

[复制链接]

尚未签到

发表于 2017-12-23 20:02:28 | 显示全部楼层 |阅读模式
  目录:
  一:下载FastDFS
  二:安装FastDFS
  三:配置
  四:整合Nginx和FastDFS

  FastDFS is an open source high performance distributed file system (DFS). It's major functions include: file storing, file syncing and file accessing, and design for high capacity and load balance.

  上面是摘自开源项目FastDFS分布式文件系统首页的描述:高性能分布式文件系统, 功能包括文件存储,同步,访问。同时实现负载均衡等。
  一:下载FastDFS
  我们一共需要三个文件
  1.FastDFS  分布式文件存储系统  下载地址:https://codeload.github.com/happyfish100/fastdfs-client-java/zip/master
  2.libfastcommon  FastDFS函数库  下载地址:https://codeload.github.com/happyfish100/libfastcommon/zip/master
  3.fastdfs-nginx-module  连接Nginx功能模块  下载地址: https://codeload.github.com/happyfish100/fastdfs-nginx-module/zip/master
  下载时候请注意,此处下载的格式为 .zip 并不是 tar.gz。之所以如此是因为,在使用fastdfs-nginx-module模块整合Nginx时候会出错,原因是 FastDFS版本必须 >= 5.11才可以。否则编译Nginx的时候会报错。可以看看模块的 INSTALL文件,里面有说明。由于FastDFS发布的版本最高只到 5.10,作者还没有将版本更新到5.11.但是github上的代码已经更新,所以直接下载即可。这里是作者 GitHub地址

  注:解压zip格式的文件,需要系统已经安装了 unzip软件。没有的可以使用命令安装: yum install zip unzip  
  为了安装方便,操作过程中,可以切换到root权限进行操作

  下载完成之后,将文件夹上传到服务器
DSC0000.png

  再次提醒此处的都是zip格式的文件,使用命令 unzip fileName 逐一解压每个zip文件。例如:  unzip fastdfs-master
  下面是解压后的情况,因为不喜欢带master 的后缀,在解压之后删除了。可以使用命令操作   mv oldFileName newFileName
  例如: mv fastdfs-master fastdfs
DSC0001.png

  二:安装FastDFS
  1.安装FastDFS函数库
  解压之后,先进入 libfastcommon 目录   cd libfastcommon
  编译文件 ./make.sh
  安装:    ./make.sh install
  安装完成之后,进入 fastdfs  cd fastdfs 和 libfastcommon 同样的安装方式
  编译文件  ./make.sh
  安装:      ./make.sh install  
  安装完成之后,可以看到两个目录,后面会使用到
DSC0002.png

  三:配置
  1.配置说明
  配置文件请根据服务器的不同,进行不同的配置。本文中 Tracker Server, Storage Server 都安装在一台服务器上。
  2.配置文件目录
  在安装完成之后,在 /etc 下会生成一个 fdfs 文件夹,进入fast配置文件目录 cd /etc/fdfs/ 。可以看到以 .sample 结尾的示例文件。
DSC0003.png

  为了方便,使用命令删除以上所有文件  rm -f * ,然后复制 /fastdfs/conf 目录内所有文件到 /etc/fdfs 目录下。
DSC0004.png


  注:/fastdfs/conf为解压后的fastdfs目录

  3.配置和启动Tracker Server
  打开 tracker.conf文件  vim ./tracker.conf , 修改base_path路径改成你自己的目录, 端口之类的没占用情况下就不修改了
DSC0005.png

  修改完成之后,尝试启动tracker  /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start

  注:base_path路径需要预先创建, 否则报错: error info: No such file or directory

  命令执行之后,发现没有任何反应,接着使用命令 netstat -unltp|grep fdfs ,查看是否启动
DSC0006.png

  可以看到Tracker Server 已经在22122端口监听
  4.配置和启动Storage Server
  接下来修改storage.conf配置文件  vim storage.conf ,打开文件之后同样的修改base_path路径,同时修改Tracker Server地址和store_path。端口地址、组名保持不变。

  Tracker Server地址:
DSC0007.png

  store_path 地址:
DSC0008.png


  注:以上的Tracker Server地址,请设置成服务器对应地址。端口没修改情况下,保持默认。
  store_path路径如果不修改,将无法启动Storage Server服务。不会有任何提示,可以打开 /fastdfs/logs 文件夹下的storaged.log文件,查看错误信息。

  OK,修改完成之后,启动Storage, /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start ,同样也是没有任何反应。接着使用命令  netstat -unltp|grep fdfs看看是否启动
DSC0009.png

  出现上图的情况,说明Tracker Server、Storage Server已经成功启动。
  5.测试上传服务
  接下来打开client.conf配置文件  vim client.conf ,只需要修改base_path和tracker_server两个地方即可。
DSC00010.png

  当修改完成之后,试试能否上传文件,刚好目录有一张图片
DSC00011.png

  使用命令将图片上传
  /usr/bin/fdfs_test /etc/fdfs/client.conf upload ./anti-steal.jpg
DSC00012.png

  当看到上面一长串的字符,OK 上传成功了。并成功返回了 图片地址。到存储目录下看看,发现多出了几张图片。其中一张图片和商品图片地址后缀一样,那么文件已经存储到本地。
DSC00013.png

  虽然返回图片地址,但是现在的fastDFS已经不支持HTTP协议。在4.0.5版本时候已经移除了 HTTP支持,因此不能直接通过图片地址访问。所有我们通过FastDFS模块整合Nginx,以提供HTTP服务。
  四.整合Nginx和FastDFS
  1. 整合模块
  此处假设你已经安装过Nginx及其依赖包,如果还没有安装Nginx可以看我另一个文章:CentOS7 安装Nginx
  整合Nginx不需要安装FastDFS模块,在配置Nginx时候将fastdfs-nginx-module模块添加进去即可。下面先开始配置Nginx,进入Nginx目录下配置文件
  

./configure  

--prefix=/opt/nginx  

--with-pcre=/home/mgame/soft/pcre-8.41  
--with-openssl=/home/mgame/soft/openssl-1.1.0f
  
--with-zlib=/home/mgame/soft/zlib-1.2.11
  
--add-module=/home/mgame/soft/fastdfs-nginx-module/src
  

  编译  make
  安装  make install
  在安装过程如果出现下面的错误,那么请查看模块中的 INSTALL文件,对FastDFS版本的要求(开头部分已经说明本文的FastDFS版本必须>= 5.11)。
  error: ‘FDFSHTTPParams’ has no member named ‘support_multi_range’(pContext->range_count > 1 && !g_http_params.support_multi_range))
DSC00014.png

  将模块添加到Nginx并安装完成之后,进入到Nginx安装目录 /opt/nginx/conf 内,打开 nginx.conf配置文件。
DSC00015.png


  注:此处的Nginx目录,是在配置Nginx时候设置的,请根据各自的设置,打开文件。

  将下面的配置添加到文件中,端口其他设置不变。
  

location /group1/M00 {  
ngx_fastdfs_module;
  
}
  

DSC00016.png


  注:/group 前面必须有斜线,否则在访问的时候,根路径为Nginx安装目录。

  2.配置模块参数
  在设置完成之后, 如果现在直接启动Nginx那么会发现,依然无法通过之前上传成功的图片地址访问。在百思不得其解情况下,想到了的Nginx不是有个logs文件夹,用于记录登录及错误信息之类的详情。
  那么打开error.log文件看看。OK 找到问题所在了
DSC00017.png

  明晃晃的两个 ERROR, 第一行说明了错误原因:file /etc/fdfs/mod_fastdfs.conf not exist   在 /etc/fdfs/目录下不存在mod_fastdfs.conf文件。该文件在模块fastdfs-nginx-module的src目录内
  既然找到了文件位置,那么进入到 /fastdfs-nginx-module/src 目录下,将文件 mod_fastdfs.conf 复制到 /etc/fdfs/ 目录下  命令: cp mod_fastdfs.conf /etc/fdfs/
  操作完成之后,打开刚刚拷贝的mod_fastdfs.conf 配置文件  vim mod_fastdfs.conf ,分别tracker_server、url_have_group_name、store_path0三个属性的参数
  tracker_server:
DSC00018.png

  url_have_group_name:
DSC00019.png


  注:因为访问的地址中包含了组名group1,如果生成的地址中不包含组名,可以不用设置。

  store_path0:
DSC00020.png


  修改完成之后,进入 /opt/nginx/sbin 目录下,重新启动Nginx  ./nginx -s>
DSC00021.png

  经过配置后,已经能够成功的访问FastDFS存储的文件。至此本文的学习笔记到此为止,希望能够帮到大家。文章不足的地方,请多多指正。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-427292-1-1.html 上篇帖子: 虚拟机上图片服务器搭建(FastDFS+nginx) 下篇帖子: 配置nginx为FastDFS的storage server提供http访问接口
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表