FastDFS的上传与下载
安装
安装gcc(编译时需要)
1 | r复制代码yum install -y gcc gcc-c++ |
安装libevent(运行时需求)
1 | 复制代码yum -y install libevent |
安装 libfastcommon
libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS运行所需要的一些基础库。
- 上传 libfastcommon-master.zip 到 /opt
1 | makefile复制代码安装解压zip包的命令: yum install -y unzip |
- 编译
1 | bash复制代码./make.sh |
- 如果:make.sh的权限不够,则需要授权(可执行的权利)
1 | bash复制代码chmod 777 make.sh |
- 安装
1 | bash复制代码./make.sh install |
- libfastcommon安装好后会在/usr/lib64 目录下生成 libfastcommon.so 库文件
- 拷贝库文件
1 | bash复制代码cd /usr/lib64 |
安装Tracker
下载 FastDFS_v5.05.tar.gz,并上传到 /opt
1 | bash复制代码tar -zxvf FastDFS_v5.05.tar.gz |
安装成功将安装目录下的conf下的文件拷贝到/etc/fdfs/下
1 | bash复制代码cp /opt/FastDFS/conf/* /etc/fdfs/ |
配置
- Tracker配置
1 | bash复制代码vim /etc/fdfs/tracker.conf |
1 | ini复制代码#端口号 |
- Storage配置
1 | bash复制代码vim /etc/fdfs/storage.conf |
1 | ini复制代码#配置组名 |
启动服务
- 启动tracker
1 | bash复制代码/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart |
- 启动storage
1 | bash复制代码/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart |
- 查看所有运行的端口:
1 | 复制代码netstat -ntlp |
搭建 Java工程
使用IDEA创建maven工程
pom.xml
1 | xml复制代码<!--fastdfs的java客户端--> |
创建配置文件
在resources下创建config目录,在config目录下创建 fastdfs-client.properties,内容如下:
1 | ini复制代码##fastdfs-client.properties |
文件上传
1 | java复制代码package test; |
文件查询
1 | java复制代码package test; |
文件下载
1 | java复制代码package test; |
项目实战
搭建图片服务器
Nginx模块安装 (Storage)
- 上传 fastdfs-nginx-module_v1.16.tar.gz 到 /opt
- 解压nginx模块
1 | 复制代码tar -zxvf fastdfs-nginx-module_v1.16.tar.gz |
- 修改 config 文件,将文件中的 /usr/local/ 路径改为 /usr/
1 | arduino复制代码cd /opt/fastdfs-nginx-module/src |
- 将 fastdfs-nginx-module/src下的 mod_fastdfs.conf 拷贝至 /etc/fdfs 下
1 | bash复制代码cp mod_fastdfs.conf /etc/fdfs/ |
- 修改 /etc/fdfs/mod_fastdfs.conf
1 | bash复制代码vim /etc/fdfs/mod_fastdfs.conf |
1 | ini复制代码base_path=/home/fastdfs |
- 将 libfdfsclient.so 拷贝至 /usr/lib 下
1 | bash复制代码cp /usr/lib64/libfdfsclient.so /usr/lib/ |
- 创建nginx/client目录
1 | bash复制代码mkdir -p /var/temp/nginx/client |
Nginx安装 (Tracker)
- 将 nginx-1.14.0.tar.gz上传到/opt(安装过nginx,此步省略)
- 解压:tar -zxvf nginx-1.14.0.tar.gz(安装过nginx,此步省略)
- 安装依赖库(安装过nginx,此步省略)
1 | 复制代码yum install pcre |
- 进入nginx解压的目录下 cd /opt/nginx-1.14.0
- 安装
1 | javascript复制代码./configure \ |
注意:上边将临时文件目录指定为 /var/temp/nginx,需要在 /var 下创建 temp 及 nginx 目录:mkdir /var/temp/nginx
- 编译:make
- 安装:make install
- 拷贝配置文件
1 | bash复制代码cd /opt/FastDFS/conf |
- 修改nginx配置文件
1 | bash复制代码cd /usr/local/nginx/conf/ |
1 | ini复制代码server { |
- 关闭nginx,并启动nginx
1 | bash复制代码pkill -9 nginx |
- 访问nginx并查看图片
http://10.1.220.247
http://10.1.220.247/group1/M00/00/00/CgHc918f8l6AFYp0AAWICfQnHuk889.jpg
创建前端页面
1 | jsp复制代码<%--上传文件,文件与文字相比较起来,属于内容较大,必须使用post方式提交--%> |
搭建web服务
pom.xml
1 | xml复制代码<packaging>war</packaging> |
web.xml
1 | xml复制代码<?xml version="1.0" encoding="UTF-8"?> |
spring-mvc.xml
1 | xml复制代码<!--扫描注解的包--> |
文件实体类
1 | java复制代码public class FileSystem implements Serializable { |
控制层
1 | java复制代码package controller; |
添加fastDFS的配置文件
在resources下创建config目录,在config目录下创建 fastdfs-client.properties
参考:创建配置文件
启动fastDFS服务,测试开始
1 | csharp复制代码[root@localhost /]# /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart |
典型错误
- 重启linux服务器,可能会到nginx启动失败:
1 | sql复制代码[root@localhost logs]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf |
- 导致本次错误的原因,是没有修改pid文件的路径,编辑nginx的配置文件:
1 | bash复制代码vim /usr/local/nginx/conf/nginx.conf |
1 | bash复制代码pid /usr/local/nginx/logs/nginx.pid; |
- 再次启动nginx,搞定!
本文转载自: 掘金