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

[经验分享] centos 搭建 FastDFS 服务器!

[复制链接]
YunVN网友  发表于 2019-2-1 06:07:33 |阅读模式
CentOS fastDFS结合nginx的配置以及php端的调用方法
  fastDFS的介绍就不说了  想了解的人直接百度。
源码: http://code.google.com/p/fastdfs/论坛: http://bbs.chinaunix.net/forum-240-1.html  配置说明: http://bbs.chinaunix.net/thread-1941456-1-1.html
开始吧--------------------------------------------------环境:CentOS 6.3 x64      3台FastDFS_v4.04.tar.gz    http://fastdfs.googlecode.com/files/FastDFS_v4.04.tar.gzfastdfs-nginx-module_v1.13.tar.gz http://fastdfs.googlecode.com/files/fastdfs-nginx-module_v1.13.tar.gzlibevent-1.4.14b-stable.tar.gz https://github.com/downloads/libevent/libevent/libevent-1.4.14b-stable.tar.gznginx-1.0.10.tar.gz http://nginx.org/download/nginx-1.0.10.tar.gzpcre-8.20.tar.gz http://sourceforge.net/projects/pcre/files/pcre/8.20/pcre-8.20.tar.gztracker server  IP:192.168.41.160storage server IP:192.168.41.162storage server IP:192.168.41.163PHP客户端IP:192.168.41.156--------------------------------------------------1、安装部署1.0.1安装依赖包libevent  (所有机器)tar zxvf  libevent-1.4.14b-stable.tar.gzcd libevent-1.4.14b-stable./configure --prefix=/usr/local/libeventmakemake install1.0.2安装fastDFS (tracker、storage、php端都按照此方法) (所有机器)tar zxvf  FastDFS_v4.04.tar.gzcd FastDFSvi make.sh  //  tracker才需要,storage、php不用操作此步骤//64行左右 删除#号开启WITH_HTTPD和WITH_LINUX_SERVICE //开启自带的http,据说最新版已经取消自带的http功能./make.sh C_INCLUDE_PATH=/usr/local/libevent/include LIBRARY_PATH=/usr/local/libevent/lib ./make.sh install//到这里安装就完毕了//可以看到fastDFS的相关配置文件ls /etc/fdfs/tracker.conf // 负责均衡调度服务器配置文件client.conf // 客户端上传配置文件http.conf//http服务器配置文件storage.conf//文件存储服务器配置文件mime.types//文件类型配置文件1.0.3启动fastDFS tracker  (192.168.41.160)//创建目录,用于记录  tracker日志、storage server等信息。mkdir -m 777 -p /www/fastDFS//修改tracker.confvi /etc/fdfs/tracker.conf把 22  行 改成  base_path=/www/fastDFS  把 222行 改成 http.server_port=8088   //如果本机没用到8080可以不修改
  把 244行 改成 #include http.conf   //注意,改完前面有个#,不要全部去掉
//启动 tracker  /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf  
  (如果你的centos是64位的启动时候会报错!! 提示找不到libevent-2.0.so.5) 所以执行命令:
  ln -s /usr/local/libevent/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5
//查看端口是否开启,看到22122 和8088就说明启动正常。如果没有,查看/www/ fastDFS/logs里的日志netstat -tnlp DSC0000.png 1.0.4启动fastDFS storage  (192.168.41.162 192.168.41.163)//创建目录,用于存储文件。mkdir -m 777 -p /www/fastDFS//修改storage.confvi /etc/fdfs/storage.conf把 33  行   改成 base_path=/www/fastDFS把 100行 改成 store_path0=/www/fastDFS把 109行 改成 tracker_server=192.168.41.160:22122//根据自己的IP把 252行 改成 http.disabled=true    //因为我们要用nginx了,这个就关闭它把 259行 改成 http.server_port=80//启动storage/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf//查看端口是否开启,看到23000就说明启动正常。如果没有,查看/www/fastDFS/logs里的日志 DSC0001.png   //这个时候可以看下 storage与tracker的连接情况
  netstat -tnlpa| grep 22122
DSC0002.png 2、测试上传2.0.1  配置客户端上传文件 (192.168.41.160)vi /etc/fdfs/client.conf把 10 行 改成 base_path= /www/fastDFS把 14 行 改成 tracker_server=192.168.41.160:22122 //根据自己的IP把 29 行 改成  http.tracker_server_port=8088//这个一定要跟tracker.conf里面配置的一样把 32 行 改成 #include http.conf      //注意,改完前面有个#,不要全部去掉//随意上传个文件echo 'fastDFS_test' >/tmp/test.txtfdfs_test /etc/fdfs/client.conf upload /tmp/test.txt DSC0003.png //看到类似上面的返回,说明文件已经成功上传。如果不是,说明配置出错了,查看日志。//记录下这个URL:http://192.168.41.160:8080/group1/M00/00/00/wKgpolFwG-WANaKzAAAADVt_Kt4300_big.txt3、nginx配置3.0.1  nginx拓展模块安装 (192.168.41.162 192.168.41.163)//nginx的安装比较简单,这里不做解释//曾经有过疑问,既然文件是直接被保持在storage服务器上,那直接用nginx就可以访问了,为什么还要添加这个模块?//答://使用扩展模块来解决文件同步延迟问题//如果请求文件在当前storage上不存在,通过文件ID反解出源storage,直接请求源storage//tracker server上不需要任何web server//在每台storage server上部署web server,直接对外提供HTTP服务//目前已提供apache和nginx扩展模块//推荐使用扩展模块方式//假设nginx已经在系统被安装过。tar zxvf fastdfs-nginx-module_v1.13.tar.gz/usr/local/nginx/sbin/nginx -V//运行后得到原来的编译参数,如:// --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-openssl=/root/openssl-1.0.0dcd nginx-1.0.10./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-openssl=/root/openssl-1.0.0d --add-module=/root/fastdfs-nginx-module/src      // fastdfs-nginx-module的路径根据自己的环境修改makemake installcp /root/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/vi /etc/fdfs/mod_fastdfs.conf把 3  行 改成connect_timeout=20      //默认2秒有点小,可改可不改把 10行 改成base_path=/www/fastDFS/把 40行 改成tracker_server=192.168.41.160:22122 ////根据自己的IP  把 62行 改成store_path0=/www/fastDFS
  把53行 改成 url_have_group_name = true (如果不修改用浏览器访问的时候加上group1的时候不能访问报400错误!!)
ln -s /www/fastDFS/data    /www/fastDFS/data/M00//编辑nginx.confvi /usr/local/nginx/conf/nginx.conf//在server段添加如下内容:location /group1/M00/ { alias /www/fastDFS/data/; ngx_fastdfs_module; }/usr/local/nginx/sbin/nginx -t/usr/local/nginx/sbin/nginx -s stop/usr/local/nginx/sbin/nginx//这里直接用usr/local/nginx/sbin/nginx -s>3.0.2  nginx拓展模块验证 (192.168.41.162 192.168.41.163)//用浏览器打开我们上面记录的URL://http://192.168.41.160:8080/group1/M00/00/00/wKgpolFwG-WANaKzAAAADVt_Kt4300_big.txt//访问 tracker 会被302跳转到一台可用的storage上面去请求 DSC0004.png //当然,在另一个节点上也是可以访问的,手动更改url: DSC0005.png 4、PHP客户端配置4.0.1  php拓展模块安装 (PHP端)//php的客户端安装也会依赖 FastDFS本身的一些库文件,所以请保证已经安装了 FastDFS。cd /root/FastDFS/php_client/  /usr/local/php/bin/phpize
./configure  --with-php-config=/usr/local/php/bin/php-configmake  make install
  cat fastdfs_client.ini >> /usr/local/php/etc/php.ini
  //验证模块是否被正常加载
  /usr/local/php/bin/php -m |grep fastdfs_client
  //如果有返回,就说明成功。
  cp ../conf//etc/fdfs/ /etc/fdfs/
  vi /etc/fdfs//etc/fdfs/
  把 14 行改成  tracker_server=192.168.41.160:22122
  把 29 行改成  http.tracker_server_port=8088
  //重启加载php
  /usr/local/php/sbin/php-fpm  reload
  
4.0.2  php拓展模块验证 (PHP端)//随意创建个文件,上传用echo 'php_upload_test'  >/tmp/upload.txt//创建个上传test.php  内容如下://执行:/usr/local/php/bin/php test.php DSC0006.png

  //看到上面的返回,应该很熟悉吧,说明成功了。用浏览器访问下:
DSC0007.png

  关于fastDFS php插件的使用方法和函数调用方法,可以查看/root/FastDFS/php_client/README
  OK。
  fastdfs 配置文件详解 http://my.oschina.net/guol/blog/72845
  安装遇到的错误:http://blog.sina.com.cn/s/blog_69b226650100wyn0.html
  http://192.168.1.220:8080/group1/M00/00/00/wKgB3FIvWm6AF_HmAAu-28LMRow_big.tar.gz


运维网声明 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-670156-1-1.html 上篇帖子: FastDFS配置Nginx模块 下篇帖子: fastdfs学习一————安装,配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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