目录
fastDFS和Nginx的安装
fastDFS
三端:
-
客户端:client
-
监听端(监听服务器):tracker
-
存储端(存储服务器):storage
使用步骤:
-
监听服务器定时查看存储服务器的状态。
-
client 访问监听服务器, 获取到可用的 存储服务器地址。
-
客户端根据返回的地址,访问存储服务器。
-
存储服务器存储文件,并返回凭证。如:“组名/M00/00/00/xxxxxx”
与以往的区别
-
图片需要上传!但是不需要下载。 直接按 “凭证” 展示到 浏览器即可。
-
fastDFS 不提供 “展示图片” 功能。 —— Nginx。
启动 fastDFS:
-
启动 存储服务器 storage: sudo fdfs_storaged /etc/fdfs/storage.conf
-
启动 监听服务器 tracker: sudo fdfs_trackerd /etc/fdfs/tracker.conf
-
ps aux | grep fdfs
Nginx
修改 Nginx:
-
sudo vim /usr/local/nginx/conf/nginx.conf
-
启动命令:
sudo /usr/local/nginx/sbin/nginx
-
查看:ps aux | grep nginx
Go语言 使用 FastDFS和Nginx
准备
go get -u -v github.com/tedcy/fdfs_client
-
在 /etc/fdfs/client.conf 中 添加了 配置
maxConns=10 # 设置最大连接数。
查看 demo:client_test.go ,确认,我们使用的方法:
client, err := NewClientWithConfig("fdfs.conf")
参数: /etc/fdfs/client.conf
client.UploadByBuffer([]byte("hello world"), "go");
参1: []byte 的图片数据。
参2: 去除 “.” 文件后缀名。
测试
package main
import (
"fmt"
"github.com/tedcy/fdfs_client"
)
func main() {
// 初始化客户端 --- 配置文件
clt, err := fdfs_client.NewClientWithConfig("/etc/fdfs/client.conf")
if err != nil {
fmt.Println("初始化fdfs客户端错误:", err)
return
}
// 上传文件 --- 尝试文件名上传 传入到storage
resp, err := clt.UploadByFilename("头像.jpg")
fmt.Println(resp, err)
}
结果
图片存储位置:
fastdfs/data/00/00