在centos下搭建和配置FastDfs
前期准备
注意:
- fastdfs 5.11版本对照:Version 5.11对应的fastdfs-nginx-module的Version 1.20
- fastdfs 5.10版本对照:Version 5.10对应的fastdfs-nginx-module的Version 1.19
各安装包请自行寻找哦,这点能力还是有点吧。
进入正题,安装开始
安装Linux环境下所需安装工具
yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget成功示意:

等待下载完成后,输入以下命令
yum install lrzsz -y成功示意:

使用XFTP将安装包放入/home/software

至此前期准备工作已经完成,下面开始依次安装它们。
安装libfastcommon
解压刚才上传的文件,然后进入解压完成的文件目录
unzip libfastcommon-master.zip
cd libfastcommon-master
ll我们将看到

运行make.sh进行安装
./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
回到/home/software目录下,解压fastdfs5.11
cd /home/software
unzip fastdfs-5.11.zip进入fastdfs-5.11并安装
cd fastdfs-5.11
./make.sh
./make.sh install无报错,正常应为如下界面

然后查看目录
[root@VM_0_5_centos fastdfs-5.11]# cd /etc/fdfs/
[root@VM_0_5_centos fdfs]# ll
total 24
-rw-r--r-- 1 root root 1461 Nov 25 18:14 client.conf.sample
-rw-r--r-- 1 root root 7927 Nov 25 18:14 storage.conf.sample
-rw-r--r-- 1 root root 105 Nov 25 18:14 storage_ids.conf.sample
-rw-r--r-- 1 root root 7389 Nov 25 18:14 tracker.conf.sample
运行如下命令,复制并修改名称去掉sample
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf至此,FastDFS安装完毕
安装tracker
首先创建tarcker工作目录,用来保存tracker的data和log。个人习惯,所有日志,数据,存放到/usr/fastdfs/fastdfs_tracker下面。
cd /usr
mkdir fastdfs
cd fastdfs
mkdir fastdfs_tracker
配置tracker
cd /etc/fdfs
vi tracker.conf找到如下四处修改
1.disabled=false #默认开启
2.port=22122 #默认端口号
3.base_path=/usr/muyou/dev/fastdfs/fastdfs_tracker #刚刚创建的目录
4.http.server_port=6666 #默认端口是8080保存修改文件,然后我们启动tracker,命令如下
service fdfs_trackerd start成功之后的界面

给tracker加入开机启动,首先分配权限
chmod +x /etc/rc.d/rc.local然后开始修改rc.local
vi /etc/rc.d/rc.local在配置文件最后加下最后一句话即可
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
service fdfs_trackerd start保存,然后 查看tracker端口监听情况

到此22122端口监听成功。
安装storage
在/usr/fastdfs下创建两个文件夹,分别是fastdfs_storage fastdfs_storage_data,其中fastdfs_storage_data是用来存储数据的,然后修改配置文件。
vi /etc/fdfs/storage.conf
##修改如下几处
1.disabled=false
2.group_name=group1 #组名,根据实际情况修改
3.port=23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致
4.base_path=/usr/muyou/dev/fastdfs/fastdfs_storage #设置storage数据文件和日志目录
5.store_path_count=1 #存储路径个数,需要和store_path个数匹配
6.store_path0=/usr/muyou/dev/fastdfs/fastdfs_storage_data #实际文件存储路径
7.tracker_server=192.168.150.132:22122 #我CentOS7的ip地址+上面配置的Tracker端口
8.http.server_port=8888 #设置 http 端口号
保存之后创建软引用
ln -s /usr/bin/fdfs_storaged /usr/local/bin然后设置开机启动
vim /etc/rc.d/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
service fdfs_trackerd start
service fdfs_storaged start查看服务是否启动
netstat -unltp | grep fdfs
到此fastdfs已经配置完成了。最后我们再确认一下,storage是否注册到了tracker中去。
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf成功后可以看到:
ip_addr = 你的服务器IP地址(localhost.localdomain) ACTIVE 的字样修改客户端配置文件
vi /etc/fdfs/client.conf
base_path=/usr/fastdfs/fastdfs_tracker #tracker服务器文件路径
tracker_server=122.51.112.113:22122 #tracker服务器IP地址和端口号
http.tracker_server_port=6666 # tracker 服务器的 http端口号,必须和tracker的设置对应起来配置Nginx
在安装nginx之前要安装nginx所需的依赖lib。
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel安装nginx并添加fastdfs-nginx-module,首先解压nginx,和fastdfs-nginx-module:
tar -zxvf nginx-1.12.0.tar.gz
unzip fastdfs-nginx-module-master.zip然后进入nginx安装目录,添加fastdfs-nginx-module:
./configure --prefix=/usr/local/nginx --add-module=解压后fastdfs-nginx-module所在的位置
./configure --prefix=/usr/local/nginx --add-module=/home/software/fastdfs-nginx-module-1.20/src如果没有错误信息,开始安装
make && make installnginx的默认目录是/usr/local/nginx 开始 配置storage和tracker的nginx
vi /usr/local/nginx/conf/nginx.conf直接新建两个server,一个端口监听为9999,一个为9989(按需修改哦)。9999位storage的,9989位tracker的端口监听。然后在storage的server中加速location寻址,然后加上upstream指向tracker的nginx地址
upstream fdfs_group1{
server 127.0.0.1:9999;
}
server {
listen 9999;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
location /group1/M00 {
root /usr/fastdfs/fastdfs_storage_data/data;
ngx_fastdfs_module;
}
}
server {
listen 9989;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location /group1/M00 {
proxy_pass http://fdfs_group1;
}
}然后进入FastDFS安装时的解压过目录,将其中http.conf和mime.types拷贝到/etc/fdfs目录下:
[root@localhost conf]# cd /home/software/fastdfs-5.11/conf
[root@localhost conf]# ls
anti-steal.jpg http.conf storage.conf tracker.conf
client.conf mime.types storage_ids.conf
cp http.conf /etc/fdfs/
cp mime.types /etc/fdfs/
另外还需要把fastdfs-nginx-module安装目录中src目录下的mod_fastdfs.conf也拷贝到/etc/fdfs目录下:
cp /home/software/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs/然后修改刚刚拷贝的文件
vi /etc/fdfs/mod_fastdfs.conf大概修改一下位置即可
base_path=/usr/fastdfs/fastdfs_storage #保存日志目录
tracker_server=122.51.112.113:22122 #tracker服务器的IP地址以及端口号
storage_server_port=23000 #storage服务器的端口号
url_have_group_name = true #文件 url 中是否有 group 名
store_path0=/usr/fastdfs/fastdfs_storage_data #存储路径
group_count = 3 #设置组的个数,事实上这次只使用了group1
然后在最后添加三个组即可
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/usr/fastdfs/fastdfs_storage_data
# group settings for group #2
# since v1.14
# when support multi-group, uncomment following section as neccessary
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/usr/fastdfs/fastdfs_storage_data
[group3]
group_name=group3
storage_server_port=23000
store_path_count=1
store_path0=/usr/fastdfs/fastdfs_storage_data创建M00至storage存储目录的符号连接:
ln -s /usr/fastdfs/fastdfs_storage_data/data/ /usr/fastdfs/fastdfs_storage_data/data/M00可以启动了
一些ngnix常用命令
/usr/local/nginx/sbin/nginx #启动
/usr/local/nginx/sbin/nginx -s -stop #停止
/usr/local/nginx/sbin/nginx -s -reload #重启
/usr/local/nginx/sbin/nginx/conf/nginx.conf -t #测试nginx.conf文件格式是否正确启动ngnix,然后调用client上传图片。
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /home/software/1212.png#你放在linux的图片地址添加成功后会给你返回一个地址

然后我们使用http访问这个地址。
http://122.51.112.113:9999/group1/M00/00/00/rBEABV3c1KCASfA9AAQZyncqXA951.png能够看到图片证明配置成功。
如果出现问题
- 防火墙问题 输入:
firewall-cmd --zone=public --add-port=9999/tcp --permanent自行添加所需端口,然后使用firewall-cmd --reload重启,使用云服务器记得在安全组放行相关端口。 - 测试是否能访问服务器网址下的9999和9989端口,如果均能访问而图片不能访问,那么就证明你的ngnix中配置的组映射有问题或者是mod_fastdfs.conf设置的有问题。仔细检查。
- 另外,如果是JAVA使用,建议使用阿里一个大佬写的适合springboot使用的包进行辅助开发,比官方的好用一万倍。还是老话自行搜索哦。

浙公网安备 33010602011771号