记录使用fastdfs搭建一个文件服务器(二)

4.配置storage

① 进入 /etc/fdfs 目录,复制 FastDFS 存储器样例配置文件 storage.conf.sample,并重命名为 storage.conf

#cd /etc/fdfs
#cp storage.conf.sample storage.conf
#vim storage.conf

② 编辑storage.conf
飘黄的需要修改,其它的默认即可。

== 配置文件是否生效,false 为生效==
disabled=false
指定此 storage server 所在 组(卷)
group_name=group1
storage server 服务端口
port=23000
** 心跳间隔时间,单位为秒 (这里是指主动向 tracker server 发送心跳)**
heart_beat_interval=30
Storage 数据和日志目录地址(根目录必须存在,子目录会自动生成)
base_path=/**/fastdfs/storage
** 有多个 tracker server 时,每个 tracker server 写一行**
tracker_server=IP:22122
访问端口
http.server_port=80

PS:tracker_server写自己的本机IP,直接用ifconfig,可以ping通

这里报错大概率是IP没写对

③ 创建Storage基础数据目录,对应base_path目录

#mkdir -p /ljzsg/fastdfs/storage
这是配置的store_path0路径
#mkdir -p /ljzsg/fastdfs/file

④ 防火墙中打开存储器端口(默认的 23000)

vim /etc/sysconfig/iptables

上述命令我自己的ubuntu没有该目录,因此迂回一下

一、查看系统是否安装防火墙
#sudo whereis iptables
若是没有安装,能够经过如下命令安装tcp
#sudo apt-get install iptables
二、查看防火墙的配置信息测
#sudo iptables -L
在这里插入图片描述
三、新建规则文件
#mkdir /etc/iptables #先新建目录
#vi /etc/iptables/rules.v4
添加如下内容(备注:80是指web服务器端口,3306是指MySQL数据库连接端口,22是指SSH远程管理端口)
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:syn-flood - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A INPUT -p icmp -m limit --limit 100/sec --limit-burst 100 -j ACCEPT
-A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j syn-flood
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A syn-flood -p tcp -m limit --limit 3/sec --limit-burst 6 -j RETURN
-A syn-flood -j REJECT --reject-with icmp-port-unreachable
COMMIT
四、使防火墙生效
#iptables-restore < /etc/iptables/rules.v4
五、建立文件,使防火墙开机启动
#vi /etc/network/if-pre-up.d/iptables
添加如下内容,
#!/bin/bash
iptables-restore < /etc/iptables/rules.v4
六、添加执行权限
chmod +x /etc/network/if-pre-up.d/iptables
七、查看规则是否生效
iptables -L -n

添加如下端口行加到/etc/iptables/rules.v4中:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT

重启防火墙:

#service iptables restart

⑤ 启动 Storage
启动Storage前确保Tracker是启动的。初次启动成功,会在 /ljzsg/fastdfs/storage 目录下创建 data、 logs 两个目录。

可以用这种方式启动
/etc/init.d/fdfs_storaged start
也可以用这种方式,后面都用这种
#service fdfs_storaged start
关闭Storage命令:
service fdfs_storaged stop

查看 Storage 是否成功启动,23000 端口正在被监听,则 Storage 启动成功

#netstat -unltp|grep fdfs

在这里插入图片描述查看Storage和Tracker是否在通信:

在这里插入图片描述

⑥ 设置 Storage 开机启动

#chkconfig fdfs_storaged on

或者:

#vim /etc/rc.d/rc.local
加入配置:
#/etc/init.d/fdfs_storaged start

⑦ Storage 目录
同 Tracker,Storage 启动成功后,在base_path 下创建了data、logs目录,记录着 Storage Server 的信息。
在 store_path0 目录下,创建了N*N个子目录:

在这里插入图片描述

5.文件上传测试

① 修改 Tracker 服务器中的客户端配置文件

#cd /etc/fdfs
#cp client.conf.sample client.conf
#vim client.conf
改为
#Client 的数据和日志目录
base_path=/ljzsg/fastdfs/client
#Tracker端口
tracker_server=file.ljzsg.com:22122

② 上传
准备一张图片 放到/usr/local/image文件夹
执行

#/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/local/image/XX.jpg

在这里插入图片描述

返回的文件ID由group、存储目录、两级子目录、fileid、文件后缀名(由客户端指定,主要用于区分文件类型)拼接而成。
在这里插入图片描述

上传成功会返回访问地址,说明配置成功,不过暂时还无法访问,需要和nginx整合才能通过浏览器直接访问图片

再PS:如果Linux没有固定IP,那么每一回打开都会换IP,脚本中的IP也要变
一个不优雅的方式(wsl2用户)
在系统hosts文件里面维护一个主机名翻译,然后所有访问的wsl2的都访问这个主机名
在这里插入图片描述
在这里插入图片描述
下次启动就固定IP了

参考了以下文档,真诚致谢

【1】 https://www.cnblogs.com/chiangchou/p/fastdfs.html#_label0_1(用FastDFS一步步搭建文件管理系统)
【2】 http://www.javashuo.com/article/p-pgfybifv-bh.html(Ubuntu使用iptables配置防火墙提示:unrecognized service(Ubuntu配置iptables防火墙)

CONTINUE 配置Ngnix

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FastDFS一个开源高性能分布式文件系统,它主要解决了海量数据存储和负载均衡的问题,适合用于图片、音频、视频等文件的存储和访问。下面是在 Linux 系统上搭建 FastDFS 文件服务器的步骤: 1. 安装依赖库: ``` yum install -y gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel wget ``` 2. 下载 FastDFS 源码: ``` wget https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz ``` 3. 解压源码并编译安装: ``` tar zxvf V6.06.tar.gz cd fastdfs-6.06/ ./make.sh ./make.sh install ``` 4. 配置 Tracker 服务器: 在 Tracker 服务器上创建一个 tracker.conf 配置文件,并添加以下内容: ``` # 配置 Tracker 服务器的 IP 和端口号 port=22122 bind_addr=192.168.0.1 # 配置存储服务器的组名和存储服务器的 IP 和端口号 group_name=group1 group_count=1 group0_ip=192.168.0.2 group0_port=23000 # 配置日志文件的路径和级别 log_level=info log_filename=/var/log/fdfs/trackerd.log ``` 5. 启动 Tracker 服务器: ``` /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart ``` 6. 配置 Storage 服务器: 在 Storage 服务器上创建一个 storage.conf 配置文件,并添加以下内容: ``` # 配置 Tracker 服务器的 IP 和端口号 tracker_server=192.168.0.1:22122 # 配置存储服务器的 IP 和端口号 port=23000 bind_addr=192.168.0.2 # 配置存储服务器的组名和容量 group_name=group1 store_path_count=1 store_path0=/data/fastdfs/storage # 配置心跳时间和同步文件的时间 heart_beat_interval=30 sync_wait_msec=600 # 配置日志文件的路径和级别 log_level=info log_filename=/var/log/fdfs/storaged.log ``` 7. 启动 Storage 服务器: ``` /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart ``` 8. 测试上传和下载文件: 在客户端机器上安装 FastDFS 客户端工具: ``` yum install -y libfastcommon wget https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz tar zxvf V6.06.tar.gz cd fastdfs-6.06/ ./make.sh ./make.sh install ``` 上传文件: ``` /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /path/to/local/file ``` 下载文件: ``` /usr/bin/fdfs_download_file /etc/fdfs/client.conf group1 M00/00/00/xxx /path/to/local/file ``` 以上就是在 Linux 系统上搭建 FastDFS 文件服务器的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值