环境:
- 操作系统: CentOS7.0
- fastdfs版本:5.11
安装步骤:
一、创建文件夹,用来存放相关代码(根据个人习惯)
cd /usr/local;
mkdir fdfs;
二、安装所需要的工具
#所使用工具安装
yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget
三、安装libfastcommon
-
获取libfastcommon安装包:
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.38.tar.gz
-
解压安装包:tar -zxvf V1.0.38.tar.gz
-
进入目录:cd libfastcommon-1.0.38
-
执行编译:./make.sh
-
安装:./make.sh install
看看有没有报错,如果没有错误就可以执行软链接了。
#执行软链接
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
四、安装FastDFS
-
获取fdfs安装包:
wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz
-
解压安装包:tar -zxvf V5.11.tar.gz
-
进入目录:cd fastdfs-5.11
-
执行编译:./make.sh
-
安装:./make.sh install
- 查看可执行命令:ls -la /usr/bin/fdfs*
-
进入/etc/fdfs目录,有三个.sample后缀的文件(自动生成的fdfs模板配置文件),
我们需要把这三个实例文件服务一份,去掉sample
到此~FastDFS安装结束。cd /etc/fdfs cp client.conf.sample client.conf cp storage.conf.sample storage.conf cp tracker.conf.sample tracker.conf
五、配置Tracker服务:
1、进入/etc/fdfs
2、编辑tracker.conf:vi tracker.conf,修改相关参数
base_path=/usr/local/fdfs/tracker #tracker存储data和log的跟路径,必须提前创建好
port=22122#tracker默认22122
http.server_port=8080 #http端口,需要和nginx相同
3、启动tracker(支持start|stop|restart):
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
4、查看tracker启动日志:进入刚刚指定的base_path(/usr/local/fdfs/tracker)中有个logs目录,查看tracker.log文件

5、查看端口情况:netstat -apn|grep fdfs
六、配置Storage服务
1、进入/etc/fdfs
2、编辑storage.conf:vi storage.conf,修改相关参数
base_path=/usr/local/fdfs/storage #storage存储data和log的跟路径,必须提前创建好
port=23000 #storge默认23000,同一个组的storage端口号必须一致
group_name=group1 #默认组名,根据实际情况修改
store_path_count=1 #存储路径个数,需要和store_path个数匹配
store_path0=/usr/local/fdfs/storage #如果为空,则使用base_path
tracker_server=192.168.1.2:22122 #配置该storage监听的tracker的ip和port,网上说不能为127.0.0.1,就没有尝试127.0.0.1
3、启动storage(支持start|stop|restart):
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
4、查看storage启动日志:进入刚刚指定的base_path(/usr/local/fdfs/storage)中有个logs目录,查看storage.log文件
5、此时再查看tracker日志:发现已经开始选举,并且作为唯一的一个tracker,被选举为leader
6、查看端口情况:netstat -apn|grep fdfs
通过monitor来查看storage是否成功绑定:
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
七、测试功能
到这里,基本上已经安装完了。本地可以实现文件上传了,进行测试:
1、修改客户端配置文件
vi /etc/fdfs/client.conf
base_path=/usr/local/fdfs/tracker #tracker服务器文件路径
tracker_server=192.168.1.2:22122 #tracker服务器IP地址和端口号
http.tracker_server_port=8080 # tracker 服务器的 http端口号,必须和tracker的设置对应起来
2、新建一个文件,vi test.txt ,输入文本,12345
3、上传
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf test.txt
4、成功之后会返回图片的路径
#返回类型这样的
group1/M00/00/00/wKiWhFrdeCeAC_vCAABqgowGIFg399.txt
5、我们去刚才上传的路径查看是否上传成功~~~
cd /usr/local/fdfs/storage/data;
ls;
cd 00;
cd 00;
ls ;# 到这里可以看到文件了
八、开启nginx映射,安装Nginx和fastdfs-nginx-module模块
进入我的文件夹
cd /usr/local/fdfs
-
下载Nginx安装包
wget http://nginx.org/download/nginx-1.15.2.tar.gz
-
下载fastdfs-nginx-module安装包
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.20.tar.gz
-
解压nginx:tar -zxvf nginx-1.15.2.tar.gz
-
解压fastdfs-nginx-module:tar -xvf V1.20.tar.gz
-
进入nginx目录:cd nginx-1.15.2
-
配置,并加载fastdfs-nginx-module模块:
# --prefix 安装到哪里去,若本身存在nginx,建议自定义一个新的路径 # --conf-path=/usr/local/nginx/nginx.conf 输出的配置文件路径 ./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/fastdfs-nginx-module-1.20/src/ --conf-path=/usr/local/nginx/nginx.conf
-
编译安装:
make make install
-
安装完成,查看是否已经配置好fastdfs模块
/usr/local/nginx/sbin/nginx -V
-
这个时候启动,是会报错的,error.log日志,提示配置异常,进行fdfs模块配置
报错日志:
进行fdfs模块配置
-
配置mod-fastdfs.conf,并拷贝到/etc/fdfs文件目录下
cd fastdfs-nginx-module-1.20/src/ cp mod_fastdfs.conf /etc/fdfs
-
进入/etc/fdfs修改mod-fastdfs.conf:
base_path=/usr/local/fdfs/storage # 保存日志目录 tracker_server=192.168.1.2:22122 #tracker的地址 url_have_group_name=true #url是否包含group名称 storage_server_port=23000 #需要和storage配置的相同 store_path_count=1 #存储路径个数,需要和store_path个数匹配 store_path0=/usr/local/fdfs/storage #文件存储的位置
-
配置nginx,监听8080端口:
cd /usr/local/nginx/conf/ vi nginx.conf
配置如下:
server { listen 8080; server_name localhost; access_log logs/access.log; location ~ /group1/M00/* { root /usr/local/fdfs/storage/data; ngx_fastdfs_module; client_max_body_size 10m; client_body_temp_path /usr/local/nginx/temp;# 需提前建好临时文件 } }
-
最后需要拷贝fastdfs解压目录中的http.conf和mime.types:
cd /usr/local/src/fastdfs-5.11/conf cp mime.types http.conf /etc/fdfs/
-
启动nginx,前端页面可正常访问到了
安装完成~~
参考文章:
https://www.cnblogs.com/handsomeye/p/9451568.html
https://blog.csdn.net/qq_34301871/article/details/80060235
万分感谢