FastDFS的安装可以查看:CentOS7 部署FastDFS多机版(上)——安装FastDFS
以下步骤三台服务器都需要执行!!!
以下步骤三台服务器都需要执行!!!
以下步骤三台服务器都需要执行!!!
设置防火墙
开放22122/8888/23000端口,然后重载防火墙配置(firewall-cmd --reload)
firewall-cmd --zone=public --add-port=22122/tcp --permanent firewall-cmd --zone=public --add-port=8888/tcp --permanent firewall-cmd --zone=public --add-port=23000/tcp --permanent
跟踪器tracker配置
tracker配置,端口采用默认端口22122,base_path则改为创建的日志和数据目录/home/dfs
vi /etc/fdfs/tracker.conf port=22122 #端口默认22122就好 base_path=/home/dfs # 根据我们创建的日志和数据目录设置
存储节点storage配置
storage配置
- 端口采用默认端口23000;
- base_path则改为创建的日志和数据目录/home/dfs;
- store_path(数字) #设置几个储存地址写几个,从0开始;
- tracker_server #有几台服务器写几个;
- http.server_port默认采用8888,可根据需要修改,与稍后nginx配置保持一致就行
- store_path_count #store_path(数字)有几个写几个
vim /etc/fdfs/storage.conf #需要修改的内容如下 port=23000 # storage服务端口(默认23000,一般不修改) base_path=/home/dfs # 数据和日志文件存储根目录 store_path0=/home/dfs # 第一个存储目录 tracker_server=172.16.116.40:22122 # 服务器1 tracker_server=172.16.116.41:22122 # 服务器2 tracker_server=172.16.116.42:22122 # 服务器3 http.server_port=8888 # http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)
client测试配置
base_path则改为创建的日志和数据目录/home/dfs,tracker_server #有几台服务器写几个;
vim /etc/fdfs/client.conf #需要修改的内容如下 base_path=/home/moe/dfs tracker_server=172.16.116.40:22122 # 服务器1 tracker_server=172.16.116.41:22122 # 服务器2 tracker_server=172.16.116.42:22122 # 服务器3
mod_fastdfs配置
配置mod_fastdfs文件,与FastDFS资源访问模式有关
- store_path(数字) #设置几个储存地址写几个,从0开始;
- url_have_group_name配置访问时url是否含组名;
- tracker_server #有几台服务器写几个;
vim /etc/fdfs/mod_fastdfs.conf #需要修改的内容如下 tracker_server=172.16.116.40:22122 # 服务器1 tracker_server=172.16.116.41:22122 # 服务器2 tracker_server=172.16.116.42:22122 # 服务器3 url_have_group_name=true store_path0=/home/dfs
配置nginx
注意nginx监听端口与存储节点配置文件中http.server配置保持一致
vim /usr/local/nginx/conf/nginx.conf server { listen 8888; ## 该端口为storage.conf中的http.server_port相同 server_name localhost; location ~/group[0-9]/ { ngx_fastdfs_module; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
启动
防火墙
#不关闭防火墙的话无法使用 systemctl stop firewalld.service #关闭 systemctl restart firewalld.service #重启
tracker
/etc/init.d/fdfs_trackerd start #启动tracker服务 /etc/init.d/fdfs_trackerd restart #重启动tracker服务 /etc/init.d/fdfs_trackerd stop #停止tracker服务 chkconfig fdfs_trackerd on #自启动tracker服务
storage
/etc/init.d/fdfs_storaged start #启动storage服务 /etc/init.d/fdfs_storaged restart #重动storage服务 /etc/init.d/fdfs_storaged stop #停止动storage服务 chkconfig fdfs_storaged on #自启动storage服务
nginx
/usr/local/nginx/sbin/nginx #启动nginx /usr/local/nginx/sbin/nginx -s reload #重启nginx /usr/local/nginx/sbin/nginx -s stop #停止nginx
检测集群
会显示会有几台服务器 有3台就会 显示 Storage 1-Storage 3的详细信息
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
配置nginx开机启动
在/etc/rc.d/init.d下添加nginx服务脚本
#!/bin/sh # # chkconfig: 35 80 20 # description: nginx Servlet Container # # # match these values to your environment: # Source function library. . /etc/rc.d/init.d/functions RETVAL=0 prog="nginx" NGINX=/usr/local/nginx start() { $NGINX/sbin/nginx echo $"Starting $prog: " return $RETVAL } stop() { $NGINX/sbin/nginx -s stop echo $"Stopping $prog: " } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status $prog RETVAL=$? ;; restart) stop start ;; *) echo "nginx service is;Usage: $0 {start|stop|restart}" ;; esac exit $RETVAL
配置脚本文件权限并设置开机启动
chmod 755 /etc/rc.d/init.d/nginx chkconfig nginx on chkconfig --list //查看服务列表
上传下载测试
利用之前配置的客户端文件做上传测试
fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.15.4.tar.gz
根据返回的文件ID(group1/M00/00/00/rBB0KF2hRXCAIxQVAA-itrfn0m4.tar.gz)来做下载测试
172.16.116.40:8888/group1/M00/00/00/rBB0KF2hRXCAIxQVAA-itrfn0m4.tar.gz 172.16.116.41:8888/group1/M00/00/00/rBB0KF2hRXCAIxQVAA-itrfn0m4.tar.gz 172.16.116.42:8888/group1/M00/00/00/rBB0KF2hRXCAIxQVAA-itrfn0m4.tar.gz
至此,FastDFS配置完成,具体的使用可根据自己的应用语言进行操作!
附上官方wiki:FastDFS项目wiki