fastdfs是分布式文本管理系统
搭建前的准备:fastDFS 软件包,nginx,nginx-fastdfs-module 相关的软
其中fastdfs-5.05.tar.gz 和fastdfs-nginx-module 可以在官网下载:可以参照该博客:https://www.cnblogs.com/fanjingfeng/p/9849697.html
nginx自己下载
还需要下载在fastdfs官网下载libfastcommon:https://sourceforge.net/projects/libfastcommon/files/
然后将你的软件都上传到你的linux上,我用的是centos
linux一些依赖的准备工作
1:执行
yum -y install libevent
2: 我们解压libfastcommon 软件,我们用libfastcommon-1.0.7.tar.gz为例
tar -zxvf libfastcommon-1.0.7.tar.gz
然后
cd libfastcommon-1.0.7
然后执行编译脚本
./make.sh
然后安装
./make.sh install
安装在 /usr/lib64:
cd /usr/lib64
ll libfast*
会看到 有libfastcommon.so
然后我们需要将文件放到 /usr/lib 下,因为 /usr/lib 是32位 、/usr/lib64 是64位
cp libfastcommon.so /usr/lib
cp libfdfsclient.so /usr/lib#这个没有就不用复制
3:解压 fastdfs软件包
tar -zxvf fastdfs-5.05.tar.gz
解压完
cd fastdfs-5.05
./make.sh
./make.sh install
安装在 /usr/bin目录下
cd /usr/bin
ll fdfs*
可以看到很多fdfs相关文件
其中还有一部分配置文件放在 /etc/fdfs/
然后进入到我们的解压的fastdfs文件夹目录下
然后
cd /conf
然后将conf 夏目的配置文件复制到/etc/fdfs
cp * /etc/fdfs
4:配置tracker服务
cd /etc/fdfs
#修改tracker.conf
vim tracker.conf
我们会看到port=22122 我们不需要修改,以后配置nginx需要这个端口
找到base_paths是日志的保存路径,我们修改日志路径,可以根据自己需要自行配置位置
base_path=/fastdfs/tracker
然后保存
然后在根目录创建我们配置的文件夹,文件夹不存在一定要创建,否则启动tracker会报错
mkdir /fastdfs/tracker -p
然后启动tracker
步骤如下
cd /usr/bin
ll fdfs*
会看到可执行的命令
启动执行:
fdfs_trackerd /etc/fdfs/tracker.conf #如果需要重启 fdfs_trackerd /etc/fdfs/tracker.conf restart
5然后配置storage:
cd /etc/fdfs
#修改storage.conf
vim storage.conf
找到base_paths是日志的保存路径,我们修改日志路径,可以根据自己需要自行配置位置
base_path=/fastdfs/storage
我们在配置文件中可以看到一个group_name=作用是我们访问一个图片是的前缀,我们设置为share
group_name=share
#然后配置storage_path0 是实际图片的存储路径
storage_path0=/fastdfs/storage
然后配置 tracker_server,ip就是我们自动的tracker所在服务器的ip地址,端口号就是我tracker配置文件的端口号
tracker_server=192.168.66.101:22122
然后保存
然后在根目录创建我们配置的文件夹,文件夹不存在一定要创建,否则启动tracker会报错
mkdir /fastdfs/storage -p
然后启动storage
步骤如下
cd /usr/bin
ll fdfs*
会看到可执行的命令
启动执行:
fdfs_storaged /etc/fdfs/storage.conf #如果需要重启 fdfs_storaged /etc/fdfs/storage.conf restart
ps -ef |grep tracker
ps -ef |grep stroage 都可以查到相关进程
6:然后配置client
cd /etc/fdfs
#修改client.conf
vim client.conf
找到base_paths是日志的保存路径,我们修改日志路径,可以根据自己需要自行配置位置
base_path=/fastdfs/client
然后配置 tracker_server,ip就是我们自动的tracker所在服务器的ip地址,端口号就是我tracker配置文件的端口号
tracker_server=192.168.66.101:22122
然后保存
然后在根目录创建我们配置的文件夹,文件夹不存在一定要创建,否则启动tracker会报错
mkdir /fastdfs/client-p
然后启动client
步骤如下
cd /usr/bin
ll fdfs*
会看到可执行的命令
执行:
fdfs_test /etc/fdfs/client.conf upload + 一张图片的路径 #这样就可以上传到仓库
执行完会给你返回一个地址,我们可以访问该图片(现在尚未配置nginx 所有无法访问图片)
我们在仓库也可以找到该图片
cd /fastdfs/storage #我们在storage的配置文件中配置的仓库目录
cd /data
一开始放在data 下的00 里面的00,然后就发现相应文件
7:配置nginx
我们上传过fastdfs-nginx-module的jar包,我们可以进行解压
然后进入到 cd fastdfs-nginx-module
进入到src
然后pwd 查看在linux 的绝对路径 (后面要用到)
然后在src文件夹下有配置文件
vim config
修改三个地方:把local删掉
然后保存
然后我们需要给nginx进行配置,我们解压完nignx ,我们还需有相应的库
yum install gcc-c++
yum install pcre pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
依赖都安装完后
进入到传解压的nigxin 目录下
然后复制下面内容
./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/src/fastdfs-nginx-module/src
# 注意这里的路径换成你的fastdfs-nginx-module的src的路径,前面配置fastdfs-nginx-module 中我们讲过要留意路径
#注意上述命令 \ 都不能少,我就少了,结果找了一天才找到错误
复制完上述路径后,直接在nginx的文件下,粘贴,然后回车(注意两点:1. 上面的内容有个路径换成你的 ,2.直接粘贴,直接粘贴,直接粘贴重要的是说三遍)就像下图
然后执行make install
然后进入到
/usr/local/下就可以看到我们的nginx
8:
然后进入到fastdfs-nginx-module 的解压的目录下,进入src
将mod_fastdfs.conf 复制到/etc/fdfs 下面
cp mod_fastdfs.conf /etc/fdfs/
然后
cd /etc/fdfs/
vim mod_fastdfs.conf
#找到base_path 修改为
base_path=/fastdfs/tmp
#找到tracker_server,ip是你tracker的ip
tracker_server=192.168.66.101:22122
#找到group_name ,这里要和stroage的group_name一致
group_name=share
#找到store_path0
store_path0=/fastdfs/storage
#找到url_have_group_name
url_have_group_name=true
然后保存
然后创建 tmp文件夹
cd /fastdfs
mkdir tmp
然后进入到
cd /etc/fdfs
9:配置nginx
cd /usr/local/nginx/conf
#可以看到nginx.conf
vim nginx.conf
#然后添加服务器
server {
listen 88; #监听的端口88
server_name 192.168.66.101;
location /share/M00 { #share是我们配置的storage的group_name
ngx_fastdfs_module;
}
}
然后保存
cd /usr/local/nginx/sbin
./nginx -t #来检测nginx配置是否配置
最后就可以访问我们的图片了
我的虚拟机ip:192.168.66.101
所以在浏览器中访问:192.168.66.101:88/share/M00/00/00/ + 你上传的图片的在虚拟机中的名称(我们在测试client时,在/fastdfs/storage/data/M00/00/00/ 目录下有你上传的图片名称)
http://192.168.66.101:88/share/M00/00/00/wKhCZV5qrwqAEpyrAAjPZZoivP4158_big.jpg