FastDFS是一个开源的轻量级分布式文件系统,为互联网应用量身定做,简单、灵活、高效,采用C语言开发,由阿里巴巴开发并开源。
FastDFS对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载、文件删除)等,解决了大容量文件存储的问题,特别适合以文件为载体的在线服务,如相册网站、文档网站、图片网站、视频网站等等。
FastDFS充分考虑了冗余备份、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
yum install gcc openssl openssl-devel pcre pcre-devel zlib zlib-devel libevent libevent-devel -y
yum -y install perl perl-devel
别管这是什么,我也不知道 反正安装就对了
libfastcommon 库是 FastDFS 文件系统运行需要的公共 C 语言函数库
下载地址:https://github.com/happyfish100
tar -zxvf libfastcommon-1.0.36.tar.gz
cd libfastcommon-1.0.36
./make.sh
注意: make编译的时候如果报错,需解决错误后再次进行make,通常发生错误是由于Linux缺少某些依赖库导致,根据错误提示解决错误
./make.sh install
下载地址:https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz
tar -zxvf fastdfs-5.11.tar.gz
cd fastdfs-5.11
./make.sh
./make.sh install
至此FastDFS安装完成
所有编译出来的文件存放在/usr/bin目录下
所有配置文件存放在/etc/fdfs目录下
cd /etc/fastdfs-5.11/conf/
cp http.conf /etc/fdfs/
cp mime.types /etc/fdfs/
cd /etc/fdfs/
mv client.conf.sample client.conf
mv storage.conf.sample storage.conf
mv storage_ids.conf.sample storage_ids.conf
mv tracker.conf.sample tracker.conf
默认指向的FastDFS作者余庆的目录,因为在我们的机器上不存在,所有手动改一下
base_path=/opt/fastdfs/tracker 还有其他目录 我列举在下面把。 此目录自己提前创建好
mkdir /opt/fastdfs
mkdir /opt/fastdfs/tracker
mkdir /opt/fastdfs/storage
mkdir /opt/fastdfs/storage/files #真正存放文件的目录
mkdir /opt/fastdfs/client
mkdir /opt/fastdfs/nginx_mod
base_path=/opt/fastdfs/storage
store_path0=/opt/fastdfs/storage/files
tracker_server=192.168.134.132:22122 #这里填写你自己的IP 别填127.0.0.1回环地址
base_path=/opt/fastdfs/client
tracker_server=192.168.134.132:2212
fdfs_trackerd /etc/fdfs/tracker.conf #启动FastDFS的tracker服务 在任意目录下执行
fdfs_storaged /etc/fdfs/storage.conf #启动FastDFS的storage服务 在任意目录下执行
fdfs_trackerd /etc/fdfs/tracker.conf restart #重启tracker
fdfs_trackerd /etc/fdfs/tracker.conf stop #关闭tracker
fdfs_storaged /etc/fdfs/storage.conf restart #重启storag
fdfs_storaged /etc/fdfs/storage.conf stop #关闭storag
上传一个文件到FastDFS试一试
fdfs_test /etc/fdfs/client.conf upload /root/1.png
现在返回的地址还不可以用,因为我们没有安装nginx呢,在安装nginx中安装FastDFS模块
首先上传nginx 以及nginx的FastDFS模块
nginx下载地址:
链接:https://pan.baidu.com/s/1-l_agjVTO5T8m0GQgb_fbw
提取码:dpnj
fastdfs-nginx-module-master 下载地址:
链接:https://pan.baidu.com/s/1As_rYqgFvpCXTwJFHeA3vg
提取码:azm3
tar -zxvf nginx-1.14.1.tar.gz
# 没有unzip 请运行此命令 :yum -y install unzip
unzip fastdfs-nginx-module-master.zip
解压完成
cd nginx-1.14.1
# 注意!! 我的虚拟机是为了演示fastdfs安装 ,所有没有安装过nginx,如果你已经安装过nginx了
请检查下面这句代码的--prefix=/usr/local/nginx 确定没有nginx这个目录在执行如下代码,
如果有请换一个名字 例如:./configure --prefix=/usr/local/nginx_nginx --add-module=/root/fastdfs-nginx-module-master/src
./configure --prefix=/usr/local/nginx --add-module=/root/fastdfs-nginx-module-master/src
make
make install
3.4.1将/root/fastdfs-nginx-module-master/src(自己实际存放Nginx扩展模块的目录,也就是刚刚解压的位置)目录下的mod_fastdfs.conf文件拷贝到 /etc/fdfs/目录下,这样才能正常启动Nginx
cp /root/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/
vim /etc/fdfs/mod_fastdfs.conf
base_path=/opt/fastdfs/nginx_mod
tracker_server=192.168.134.132:22122
store_path0=/opt/fastdfs/storage/files
url_have_group_name = true
#拦截请求路径中包含 /group[1-9]/M0[0-9] 的请求,用 fastdfs的Nginx 模块进行转发
location ~ /group[1-9]/M0[0-9] {
ngx_fastdfs_module;
}
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
然后重启 fastdfs
fdfs_trackerd /etc/fdfs/tracker.conf restart #重启
fdfs_storaged /etc/fdfs/storage.conf restart #重启
如果在访问中出现如下 请检查你的防护墙端口是否开放80
防火墙开放数据库端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
查看已经开放的端口
firewall-cmd --list-ports
查看防火墙状态
systemctl status firewalld
开启防火墙
systemctl start firewalld
关闭防火墙
systemctl stop firewalld
查看当前firewall状态
firewall-cmd --state
重启firewall
firewall-cmd --reload
禁止开机启动
systemctl disable firewalld.service
请先添加80端口 后重启防火墙 命令打在上方了
如下就是结果了 我比较懒 所有就用此文章的第一张截图上传做了测试 请谅解。
至此fastdfs单机版就安装完成了 集群看心情出把。。。