安装fastdfs文件系统
1、下载源码包
需要下载的源码包:
fastDFS源代码:FastDFS_v5.01.tar.gz
fastDFS的nginx模块源代码:fastdfs-nginx-module_v1.15.tar.gz
nginx服务器源代码:nginx-1.4.7.tar.gz
nginx依赖的pcre库源代码:pcre-8.34.tar.gz
nginx依赖的zlib库源代码:zlib-1.2.8.tar.gz
可以我的微云中下载http://url.cn/4Byr7Ky,也可以网上自行下载;
2、安装,配置,运行tracker
1.安装
[root@nginx opt]# cp FastDFS_v5.01.tar.gz /usr/local/src/
[root@nginx opt]# cd /usr/local/src/
[root@tracker src]# tar -zxf FastDFS_v5.01.tar.gz
[root@tracker src]# cd FastDFS
[root@nginx FastDFS]# ./make.sh #如出现错误请安装对应的依赖包
[root@nginx FastDFS]# ./make.sh install
安装完成后,所有可执行文件在/usr/local/bin下,以fdfs开头,配置文件在/etc/fdfs下;
2.配置
[root@nginx FastDFS]# vim /etc/fdfs/tracker.conf
一般只需改动以下几个参数即可:
disabled=false #启用配置文件
port=22122 #设置tracker的端口号
base_path=/home/fdfs/tracker/ #设置tracker的数据文件和日志目录(需预先创建)
http.server_port=9300 #设置http访问的端口号
3.运行
运行tracker之前,如果配置了防火墙则要先开放tracker的默认端口22122
[root@nginx FastDFS]# /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
如需设置开机自启,可在/etc/rc.d/rc.local中添加上面的命令
3、安装、配置、运行storage
1、安装
由于现在将tracker和storeage安装在同一台服务器上,所以第二步已经安装过fastDFS了,跳过此步;
2、配置
[root@nginx FastDFS]# vim /etc/fdfs/storage.conf
一般只需改动以下几个参数即可:
disabled=false #启用配置文件
group_name=group1 #组名,根据实际情况修改
port=23000 #设置storage的端口号
base_path=/home/fdfs/storage #设置storage的日志目录(需预先创建)
store_path_count=1 #存储路径个数,需要和store_path个数匹配,目前只配置store_path0
store_path0=/home/fdfs/storage1 #存储路径
tracker_server=172.16.1.202:22122 #tracker服务器的IP地址和端口号
http.server_port=9300 #设置http端口号
3、运行
[root@nginx FastDFS]# /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf
如需设置开机自启,可在/etc/rc.d/rc.local中添加上面的命令
4、安装,配置,运行nginx
1、安装
[root@nginx opt]# cp nginx-1.4.7.tar.gz /usr/local/src
[root@nginx opt]# cp fastdfs-nginx-module_v1.15.tar.gz /usr/local/src
[root@nginx opt]# cp pcre-8.34.tar.gz /usr/local/src
[root@nginx opt]# cp zlib-1.2.8.tar.gz /usr/local/src
[root@nginx opt]# cd /usr/local/src/
[root@nginx src]# tar zxf nginx-1.4.7.tar.gz
[root@nginx src]# tar zxf fastdfs-nginx-module_v1.15.tar.gz
[root@nginx src]# tar zxf pcre-8.34.tar.gz
[root@nginx src]# tar zxf zlib-1.2.8.tar.gz
[root@nginx src]# cd nginx-1.4.7
[root@nginx nginx-1.4.7]# ./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/fastdfs-nginx-module/src
--with-pcre=/usr/local/src/pcre-8.34/ --with-zlib=/usr/local/src/zlib-1.2.8
[root@nginx nginx-1.4.7] # make
[root@nginx nginx-1.4.7] # make install
[root@nginx nginx-1.4.7]# cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
2、配置
[root@nginx nginx-1.4.7]# vim /usr/local/nginx/conf/nginx.conf
修改nginx配置伟杰,添加fastDFS server模块
server {
listen 9300;
server_name localhost;
#注释掉部分为在有第二个storage的时候使用的
#location /group1/M01 {
# root /home/fdfs/storage2/data;
# ngx_fastdfs_module;
#}
location /group1/M00 {
root /home/fdfs/storage1/data;
ngx_fastdfs_module;
client_max_body_size 200m;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
[root@storage1 nginx-1.4.7]# vim /etc/fdfs/mod_fastdfs.conf
修改mod_fastdfs配置,一般需要修改如下几个配置
一般只需改动以下几个参数即可:
base_path=/home/fdfs/storage #保存日志目录
tracker_server=172.16.1.202:22122 #tracker服务器的IP地址以及端口号
storage_server_port=23000 #storage服务器的端口号
group_name=group1 #当前服务器的group名
url_have_group_name = true #文件url中是否有group名
store_path_count=1 #存储路径个数,需要和store_path个数匹配
store_path0=/home/fdfs/storage1 #存储路径
http.need_find_content_type=true #从文件扩展名查找文件类型(nginx时为true)
group_count = 1 #设置组的个数(具体要看有几个group)
在末尾增加组的具体信息(有几个group则增加几个)
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/home/fdfs/storage1
[root@nginx nginx-1.4.7]# ln -s /home/fdfs/storage1/data /home/fdfs/storage1/data/M00
3、运行
运行nginx之前,先要把防火墙中fastDFS的http端口打开(本例中为9300)
[root@nginx nginx-1.4.7]# /usr/local/nginx/sbin/nginx
通过netstat -ntlp 查看9300、22122、23000这几个端口是不是都存在
5、测试
尝试上传一个文件到FastDFS,然后访问试试。先配置client.conf文件
[root@nginx nginx-1.4.7]# vim /etc/fdfs/client.conf
一般修改如下参数:
base_path=/home/fdfs/tracker #日志存放路径
tracker_server=172.16.1.202:22122 #tracker服务器IP地址和端口号
http.tracker_server_port=9300
[root@nginx nginx-1.4.7]# /usr/local/bin/fdfs_upload_file /etc/fdfs/client.conf /mnt/monk.jpg
程序会返回一个url如:group1/M00/00/00/rBABz1MzKG6Ad_hBAACKLsUDM60560.jpg
然后使用浏览器访问:
http://172.16.1.202:9300/group1/M00/00/00/rBABz1MzKG6Ad_hBAACKLsUDM60560.jpg
此处的172.16.1.202为内网地址,要换成nginx所在的公网地址,如果能访问到图片则安装成功
5、java客户端
1.下载源码https://github.com/happyfish100/fastdfs-client-java
2.用maven编译源码并安装
mvn clean install
3.使用maven从jar安装
mvn install:install-file -DgroupId=org.csource -DartifactId=fastdfs_client -Dversion=版本号 -Dpackaging=jar -Dfile=前得到的jar路径
安装fastdfs文件系统的更多相关文章
- CentOS7 安装FastDFS分布式文件系统
CentOS7 安装FastDFS分布式文件系统 最近要用到fastDFS,所以自己研究了一下,在搭建FastDFS的过程中遇到过很多的问题,为了能帮忙到以后搭建FastDFS的同学,少走弯路,与大家 ...
- CentOS上安装分布式文件系统FastDFS & 配置和问题解决
原文:https://my.oschina.net/wangmengjun/blog/1142982 什么是FastDFS? FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件 ...
- CentOS上安装FastDFS分布式文件系统
鱼大自己写的项目简介:http://bbs.chinaunix.net/thread-1920470-1-1.html 架构简介:http://www.programmer.com.cn/4380/ ...
- FastDFS文件系统(二) fastdfs和其他文件系统区别
FastDFS文件系统(二) fastdfs和其他文件系统区别 一.概述 普通存储方案:Rsync.DAS(IDE/SATA/SAS/SCSI等块).NAS(NFS.CIFS.SAMBA等文件系统). ...
- linux上安装fastdfs+nginx+ngin-module实践并解决多个异常篇
为什么选择Nginx Nginx 是一个很牛的高性能Web和反向代理服务器, 它具有有很多非常优越的特性: 在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主 ...
- Linux 安装FastDFS<准备>(使用Mac远程访问)
阅读本文需要一定的Linux基础 一 FastDFS简介 fastdfs是用c语言编写的一款开源分布式文件系统, fastdfs为互联网量身定制, 充分考虑了冗余备份, 负载均衡, 线性扩容等机制, ...
- Fastdfs文件系统扩容
1.简介 FastDFS文件服务器在设计时,为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式.存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是 ...
- 实战:docker搭建FastDFS文件系统并集成SpringBoot
实战:docker搭建FastDFS文件系统并集成SpringBoot 前言 15年的时候,那时候云存储还远远没有现在使用的这么广泛,归根结底就是成本和安全问题,记得那时候我待的公司是做建站开发的,前 ...
- centos7.x 安装 fastDFS
环境准备 使用的系统软件 名称 说明 centos 7.x libfatscommon FastDFS分离出的一些公用函数包 FastDFS FastDFS本体 fastdfs-nginx-modul ...
随机推荐
- NOIP训练测试2(2017081502)
唔,这是今天第二场训练测试. 上一轮不够难,现在来一波更简单的.[滑稽] 注意时间! 测试时间:3小时 题目一:Cantor表 题目二:回文数 题目三:拼数 题目四:进制位 题目五:邮票面值设计 都是 ...
- CSS-尺寸与边框
1.基础选择器的优先级 权值:标识当前选择器的重要程度,权值越大优先级越高. 元素选择器 1 类选择器 10 伪类选择器 10 ID选择器 100 内联样式 1000 选择器的权值加到一起,大的优先 ...
- canvas绘图实现浏览器等待效果
一:创建画布 <canvas width="600" height="600" id="canvas" style="bor ...
- git版本控制工具的使用(1)。
为了使用. 感谢:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 讲解的很清晰, ...
- linux_开启mysql服务
想要连接mysql的时候必须先开启mysql的服务 service mysqld start mysql -u root -p 输入密码
- MyBatis中的缓存1
1.应用程序和数据库交互的过程是一个相对比较耗时的过程 2.缓存存在的意义:让应用程序减少对数据库的访问,提升程序运行的xiaolv 3.MyBatis中默认SqlSession缓存开启 3.1 同 ...
- Educational Codeforces Round 60 D dp + 矩阵快速幂
https://codeforces.com/contest/1117/problem/D 题意 有n个特殊宝石(n<=1e18),每个特殊宝石可以分解成m个普通宝石(m<=100),问组 ...
- asp.net 多线程
//开启一条线程并执行一个方法 Thread oThread = new Thread(new ThreadStart(IIMsSqlToSqlitle2)); oTh ...
- Angularjs的directive封装ztree
一般我们做web开发都会用到树,恰好ztree为我们提供了多种风格的树插件. 接下来就看看怎么用Angularjs的directive封装ztree <!DOCTYPE html> < ...
- Redis模块开发示例
实现一个Redis module,支持两个扩展命令: 1) 可同时对hash的多个field进行incr操作: 2) incrby同时设置一个key的过期时间 在没有module之前,需要借助eval ...