FastDFS的使用并实现头像上传
- 一、FastDFS概述
- 二、安装FastDFS
-
- 1. 拉取镜像
- 2. 安装tracker
- 3. 安装storage
- 4. NGINX服务启动
- 三、配置和依赖
-
- 配置
- 依赖
- 四、头像上传
一、FastDFS概述
-
概述
-
上传交互过程
两个服务:Tracker Server 和Storage Server
-
Tracker Server
跟踪服务,负责调度和负载均衡 -
Storage Server
存储服务,负责文件存储
- 下载交互过程
二、安装FastDFS
注:fastDFS可以查看github上的官方文档
1. 拉取镜像
-
查看fastdfs镜像
-
拉取镜像命令
sudo docker pull delron/fastdfs
- 查看镜像
2. 安装tracker
安装tracker
sudo docker run -dti --network=host --name tracker01 -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker #--network设置网络,=host表示和本机处于一个局域网中 -dti使用交互式终端 /var/fdfs/tracker 容器的tracker目录 挂载到 本机的/var/fdfs目录中 delron/fastdfs镜像文件名 tracker:终端
操作如下:
3. 安装storage
- 查看tracker服务器的ip地址,tracker server的端口默认为22122
ifconfig #查看IP地址
安装storage,必须和tracker server 在同一个网络中
sudo docker run -dti --network=host --name storage01 -e TRACKER_SERVER=xxx.xxx.xxx.xxx:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage
storage无法启动解决办法:
4. NGINX服务启动
在nginx官网下载nginx的windows版本,直接解压
nginx的端口默认是8888,确保nginx的服务有运行起来。
至此,fastDFS的基础服务tacker容器、storage容器、nginx服务都已配置好!
- 其他命令
ps -aux|grep 8888 #查看监听端口
三、配置和依赖
配置
- 在utils文件下新建一个fastdfs的文件夹
- 在fastdfs文件下再创建一个logs文件夹存放日志信息以及client.conf的配置文件
- 在官方文档中找到conf ——client.conf,将其中的内容复制到项目中的client.conf的配置文件中
配置内容已经复制下来,如下,做对应修改即可,步骤已写在注释中:
# connect timeout in seconds
# default value is 30s
# Note: in the intranet network (LAN), 2 seconds is enough.
connect_timeout = 5 #连接超时时间
# network timeout in seconds
# default value is 30s
network_timeout = 60 #网络超时时间
# the base path to store log files
base_path = utils/fastdfs/logs # 1.修改日志文件路径为fastdfs的日志存放路径
# tracker_server can ocur more than once for multi tracker servers.
# the value format of tracker_server is "HOST:PORT",
# the HOST can be hostname or ip address,
# and the HOST can be dual IPs or hostnames seperated by comma,
# the dual IPS must be an inner (intranet) IP and an outer (extranet) IP,
# or two different types of inner (intranet) IPs.
# for example: 192.168.2.100,122.244.141.46:22122
# another eg.: 192.168.1.10,172.17.4.21:22122
tracker_server = xxx.xxx.xxx.xxx:22122 # 2. 改成自己的tracker server 的ip地址和端口
# tracker_server = 192.168.0.196:22122 #有多个tracker server 就写多个
#standard log level as syslog, case insensitive, value list:
### emerg for emergency
### alert
### crit for critical
### error
### warn for warning
### notice
### info
### debug
log_level = info #日志等级为info
# if use connection pool
# default value is false
# since V4.05
use_connection_pool = false #是否使用连接池
# connections whose the idle time exceeds this time will be closed
# unit: second
# default value is 3600
# since V4.05
connection_pool_max_idle_time = 3600 #连接池的最大延时时间
# if load FastDFS parameters from tracker server
# since V4.05
# default value is false
load_fdfs_parameters_from_tracker = false
# if use storage ID instead of IP address
# same as tracker.conf
# valid only when load_fdfs_parameters_from_tracker is false
# default value is false
# since V4.05
use_storage_id = false
# specify storage ids filename, can use relative or absolute path
# same as tracker.conf
# valid only when load_fdfs_parameters_from_tracker is false
# since V4.05
storage_ids_filename = storage_ids.conf
#HTTP settings
http.tracker_server_port = 80
#use "#include" directive to include HTTP other settiongs
##include http.conf
依赖
下载py3Fdfs、mutagen、requests
上传验证,检查环境有无问题
通过nginx的ip地址+file_id可访问到图