一、准备相关安装包
以下将FastDFS相关文件上传到服务器的root目录下
- FastDFS源码:FastDFS_v5.05.tar.gz
- FastDFS依赖包:libfastcommonV1.0.7.tar.gz
- FastDFS的nginx扩展模块:fastdfs-nginx-module_v1.16.tar.gz
- nginx安装包:nginx-1.8.0.tar.gz
二、安装相关依赖
-
c语言编译环境: yum install gcc-c++
-
libevent工具包: yum -y install libevent
-
libfastcommonV1.0.7工具包:
- 解压缩:tar zxf libfastcommonV1.0.7.tar.gz
- 编译:cd libfastcommonV1.0.7/ ./make.sh(若安装失败可执行yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget)
- 安装:cd libfastcommonV1.0.7 ./make.sh install
- 由于是32位系统,将/usr/lib64/文件下的libfastcommon.so拷贝到/usr/lib/文件夹中:cp libfastcommon.so …/lib
三、安装FastDFS
-
解压缩: tar zxf FastDFS_v5.05.tar.gz
-
编译: cd FastDFS ./make.sh
-
安装: cd FastDFS ./make.sh install
安装后在/usr/bin/目录下以fdfs开头的文件都是编译出来的
四、配置tracker服务器
- 准备配置文件: 将root/FastDFS/conf下的文件复制到 /etc/fdfs,cp * /etc/fdfs/
- 修改日志存放路径: 修改tracker.conf文件中的base_path
- 启动tracker,指定tracker的配置文件: /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
五、配置storage服务器
- 修改日志存放路径: 修改storage.conf文件中的base_path
- 修改图片存放路径: 修改storage.conf文件中的store_path
- 设置对应的tracker服务器ip: 修改storage.conf文件中的tracker_server
- 启动storage,指定storage的配置文件: /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
启动后会在指定的图片存放路径下创建data问价夹以及以下的二级目录,在指定的日志文件夹下创建log文件夹
六、配置fastdfs自带客户端(仅测试配置)
- 修改日志文件存放路径: 修改client.conf文件中的base_path
- 设置对应的tracker服务器ip: 修改client.conf文件中的tracker_server
七、测试上传功能
/usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg
八、测试下载功能
要使fastdfs能够下载,必须为storage服务器配置http服务后才能访问,所以使用官方提供的nginx插件搭建nginx来提供http服务
- 解压缩nginx安装包和插件: tar -zxf nginx-1.8.0.tar.gz tar zxf fastdfs-nginx-module_v1.16.tar.gz
- 修改插件中fastdfs的路径: cd fastdfs-nginx-module/src 修改config文件,将路径中的local都删掉
- 将插件的配置文件放到fastdfs指定的配置文件位置:
cp /root/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/ - 设置nginx对应的tracker服务器ip: 修改client.conf文件中的tracker_server
- nginx添加fastdfs插件模块:
cd nginx-1.8.0
mkdir -p /var/temp/nginx
./configure
–prefix=/usr/local/nginx
–pid-path=/var/run/nginx/nginx.pid
–lock-path=/var/lock/nginx.lock
–error-log-path=/var/log/nginx/error.log
–http-log-path=/var/log/nginx/access.log
–with-http_gzip_static_module
–http-client-body-temp-path=/var/temp/nginx/client
–http-proxy-temp-path=/var/temp/nginx/proxy
–http-fastcgi-temp-path=/var/temp/nginx/fastcgi
–http-uwsgi-temp-path=/var/temp/nginx/uwsgi
–http-scgi-temp-path=/var/temp/nginx/scgi
–add-module=/root/fastdfs-nginx-module/src
make
make install - 修改nginx配置: 若访问group1/M00,则交给插件处理,插件再找ip路径
- 拷贝libfdfsclient.so: 由于是32位系统,将/usr/lib64/文件下的libfdfsclient.so拷贝到/usr/lib/文件夹中:cp libfdfsclient.so …/lib
- 启动nginx后访问图片: