在搭建fastDFS文件上传下载服务器之前,你需要准备的有一个可连接的linux服务器,并且该linux服务器上已经安装了docker,若还有没安装docker的,先百度自行安装docker。
- 1.执行命令:docker search fastdfs
image
- 2.我选择的是season/fastdfs镜像,使用的标签是1.2(之所以选择这个镜像,是因为下载量最多,选择1.2版本 是因为最新版本不稳定,所以使用最新版本之前的稳定版本。我们下载镜像一定要下载自己的或者官方的镜像。)
执行命令:docker pull season/fastdfs:1.2
等待一段时间,便可下载完成
此时执行命令:docker images
如果可以看下以下fastdfs的镜像,即已成功安装了fastdfs的镜像
image
- 创建 tracker 目录
执行命令: mkdir -p /data/tracker
该目录用于和tracker进行目录挂载,接下来就是创建tracker容器
执行命令:
docker run -id --name tracker --restart=always --net host -v /etc/localtime:/etc/localtime -v /data/tracker:/fastdfs/tracker/data season/fastdfs:1.2 tracker
image
- 创建storage 目录
执行命令:mkdir -p /data/storage
该目录存储上传的文件,然后是创建storage的容器
执行命令:docker run -id --name storage --restart=always --net host -v /etc/localtime:/etc/localtime -v /data/storage:/fastdfs/store_path -e TRACKER_SERVER="ip:22122" season/fastdfs:1.2 storage
该命令中需要执行TRACKER_SERVER的ip,这个ip换成你自己linux服务器的ip地址
image
- 5.将tracker容器中的客户端配置文件client.conf复制到宿主机,进行修改client.conf配置文件
执行命令:docker cp tracker:/etc/fdfs/client.conf ./
client.conf文件编辑修改
执行命令:vi client.conf
将tracker_server的ip改为你linux服务器的ip
image
- 6.再将拷贝到宿主机上的client.conf文件 复制回tracker容器
执行命令:docker cp client.conf tracker:/etc/fdfs/
- 7.进入tracker容器
执行命令:docker exec -it tracker bash
创建文件,执行命令:echo "zhangshoufu.com" >index.html
将文件上传到服务器,执行命令:fdfs_upload_file /etc/fdfs/client.conf index.html
image
image
- 8.此时只是能够本机访问,要想web访问,还必须集成nginx
首先创建nginx配置文件的文件夹,执行命令:mkdir /etc/nginx/ -p
将storage容器中的nginx配置文件拷贝到你创建的nginx文件夹下,执行命令:docker cp storage:/etc/nginx/conf/nginx.conf ./
image
- 9.创建nginx的容器,
执行命令:docker run -id --name fastdfs_nginx --restart=always -v /data/storage:/fastdfs/store_path -v /etc/nginx/nginx.conf:/etc/nginx/conf/nginx.conf -p 8888:80 -e TRACKER_SERVER=ip:22122 season/fastdfs:1.2 nginx
该命令中需要执行TRACKER_SERVER的ip,这个ip换成你自己linux服务器的ip地址
image
- 10.修改nginx的配置文件,执行命令:vi /etc/nginx/nginx.conf
将location 中的内容修改为:
location / {
root /fastdfs/store_path/data;
ngx_fastdfs_module;
}
image
- 11 重启fastdfs_nginx容器
执行命令:docker restart fastdfs_nginx
linux服务器上访问你刚上传的文件,
执行命令:curl -i http://127.0.0.1:8888/group1/M00/00/00/rB4ACV6ab6eAQrtmAAAAEN9dPo040.html
image
到此你已经成功搭建了fastDFS文件服务器,此时你可以在你得web上访问图片的url,发现可以进行web访问了
image
注意 :
fastDFS 文件服务器搭建好之后,需要开通防火墙
vi /etc/sysconfig/iptables //防火墙配置
-A INPUT -p tcp --dport 22122 -j ACCEPT
-A INPUT -p tcp --dport 23000 -j ACCEPT
//允许22122(tracker服务) 和 23000 (storage服务端口) 端口通过
service iptables restart //重启防火墙
阿里云 安全组 也需要开通端口
image.png