https://github.com/happyfish100/
https://github.com/happyfish100/fastdfs/wiki
https://www.cnblogs.com/leechenxiang/p/5406548.html
https://www.cnblogs.com/leechenxiang/p/7089778.html
下载安装包:
libfatscommon:FastDFS分离出的一些公用函数包
FastDFS:FastDFS本体
fastdfs-nginx-module:FastDFS和nginx的关联模块
nginx:发布访问服务
yum install -y gcc gcc-c++
yum -y install libevent
安装libfatscommon函数库
解压
tar -zxvf libfastcommon-1.0.42.tar.gz
进入libfastcommon文件夹,编译并且安装
./make.sh
./make.sh install
安装fastdfs主程序文件
解压
tar -zxvf fastdfs-6.04.tar.gz
进入到fastdfs目录,查看fastdfs安装配置
cd fastdfs-6.04/
vim make.sh
# 下边是配置,可以看到fdfs的目录
TARGET_PREFIX=$DESTDIR/usr
TARGET_CONF_PATH=$DESTDIR/etc/fdfs
TARGET_INIT_PATH=$DESTDIR/etc/init.d
安装fastdfs
./make.sh
./make.sh install
/usr/bin 中包含了可执行文件;
/etc/fdfs 包含了配置文件;
拷贝配置文件如下:
# 将fastdfs解压目录中配置,全部cp到/etc/fdfs/中
cp /home/software/FastDFS/fastdfs-6.04/conf/* /etc/fdfs/
说明
tracker和storage都是同一个fastdfs的主程序的两个不同概念,配置不同的配置文件就可以设定为tracker或者storage(就是可以吧tracker和storage分别部署在不同的服务器上。分别执行上边的安装,然后在tracker服务器上只配置tracker.conf,在storage服务上只配置storage。然后分别只启动tracker和storage)
配置tracker
/etc/fdfs下都是一些配置文件,配置tracker即可
vim tracker.conf
修改tracker配置文件,此为tracker的工作目录,保存数据以及日志
base_path=/usr/local/fastdfs/tracker
mkdir /usr/local/fastdfs/tracker -p
启动tracker服务
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
# 关闭tracker服务
/usr/bin/stop.sh fdfs_trackerd
# 或者
/usr/bin/stop.sh /etc/fdfs/tracker.conf
修改该storage.cond配置文件
/etc/fdfs/
# 修改组名
group_name=imooc
# 修改storage的工作空间
base_path=/usr/local/fastdfs/storage
# 修改storage的存储空间
store_path0=/usr/local/fastdfs/storage
# 修改tracker的地址和端口号,用于心跳
tracker_server=192.168.3.70:22122
# 后续结合nginx的一个对外服务端口号
http.server_port=8888
创建目录
mkdir /usr/local/fastdfs/storage -p
启动storage
前提:必须首先启动tracker
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
# 关闭storage服务
/usr/bin/stop.sh fdfs_storaged
# 或者
/usr/bin/stop.sh /etc/fdfs/storage.conf
测试上传
修改的client配置文件
修改/etc/fdfs下的client.conf
base_path=/usr/local/fastdfs/client
tracker_server=192.168.1.153:22122
mkdir /usr/local/fastdfs/client
测试:
# 网上的图片或者本地的图片
wget https://www.imooc.com/static/img/index/logo.png
# /usr/bin/下的fdfs_test
./fdfs_test /etc/fdfs/client.conf upload /home/logo.png
引子
fastdfs安装好以后是无法通过http访问的,这个时候就需要借助nginx了,所以需要安装fastdfs的第三方模块到nginx中,就能使用了。
注:nginx需要和storage在同一个节点。
安装nginx插件
解压nginx的fastdfs压缩包
tar -zxvf fastdfs-nginx-module-1.22.tar.gz
复制配置文件如下:
# 在解压目录的src下
cp mod_fastdfs.conf /etc/fdfs
我是将这个插件放置在/usr/local/下
修改/fastdfs-nginx-module/src/config文件,主要是修改路径,把local删除,因为fastdfs安装的时候我们没有修改路径,原路径是/usr
安装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=/usr/local/fastdfs-nginx-module-1.22/src
修改 mod_fastdfs.conf 配置文件(/etc/fdfs下):
base_path=/usr/local/fastdfs/tmp
tracker_server=192.168.1.153:22122
# 和storage里边的配置保持一致
group_name=imooc
url_have_group_name = true
# 和storage里边的配置保持一致
store_path0=/usr/local/fastdfs/storage
创建文件夹
mkdir /usr/local/fastdfs/tmp
修改nginx.conf,添加如下虚拟主机:
server {
listen 8888;
server_name localhost;
location /imooc/M00 {
ngx_fastdfs_module;
}
}
如果group=group1(就是默认的组名)
location ~/group[0-9]/ {
ngx_fastdfs_module;
}