记录使用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
记录使用fastdfs搭建一个文件服务器(二)_第1张图片
三、新建规则文件
#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是否在通信:

记录使用fastdfs搭建一个文件服务器(二)_第2张图片

⑥ 设置 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、文件后缀名(由客户端指定,主要用于区分文件类型)拼接而成。
记录使用fastdfs搭建一个文件服务器(二)_第3张图片

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

再PS:如果Linux没有固定IP,那么每一回打开都会换IP,脚本中的IP也要变
一个不优雅的方式(wsl2用户)
在系统hosts文件里面维护一个主机名翻译,然后所有访问的wsl2的都访问这个主机名
记录使用fastdfs搭建一个文件服务器(二)_第4张图片
在这里插入图片描述
下次启动就固定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

你可能感兴趣的:(linux,ubuntu,python)