安装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路径