一、下载安装Docker:
-
如果使用CentOS系统,可能会在安装Docker时遇到以下错误:
File "/usr/bin/yum-config-manager", line 133 except yum.Errors.RepoError, e:
这是由于yum的包管理使用python2,因此系统默认的环境变量python就是python2。
如果你将python默认改为python3,yum-config-manager就会报错。
# 打开配置文件, 将第一行的python改为python2 vim /usr/bin/yum-config-manager
二、安装fastDFS:
-
拉取镜像:
sudo docker pull delron/fastdfs
-
构建tracker容器:
docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs tracker
-
构建storage容器:
docker run -dti --network=host --name storage -e TRACKER_SERVER=192.168.56.1:22122 -v /var/fdfs/storage:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs storage
# 这里的TRACKER_SERVER可以设置为内网IP或公网IP,不要设置为本机地址127.0.0.1。如果fastDFS配置在远程服务器上,需要设置为公网IP。
# 如果之后重启storage失败,需要进入
/var/fdfs/storage/data
,删除pid:
三、配置防火墙、开放端口:
可以直接在腾讯云控制台中点击防火墙,添加自定义规则,开放TCP协议22122端口和23000端口。
四、在应用中配置client.conf:
connect_timeout=30
network_timeout=60
tracker_server=xxx:22122 # 这里设置为你tracker_server的ip,如果使用远程服务器,使用公网ip
log_level=info
use_connection_pool = false
connection_pool_max_idle_time = 3600
load_fdfs_parameters_from_tracker=false
use_storage_id = false
storage_ids_filename = storage_ids.conf
http.tracker_server_port=80
五、测试上传图片:
1、在python中配置fastDFS:
pip install py3Fdfs
pip install mutagen
pip isntall requests
2、编写测试代码:
from fdfs_client.client import Fdfs_client,get_tracker_conf
tracker_path = get_tracker_conf(r'xxxutilsfastdfsclient.conf')
# 创建客户端实例
client = Fdfs_client(tracker_path)
# 上传文件
ret = client.upload_by_filename(r"C:Usersxxx1.png")
成功后返回结果:
上传的结果可以在配置了fastDFS的服务器的8888端口访问到(需要在防火墙中开放8888端口)。