一、拉取go-fastdfs代码
git clone https://github.com/sjqzhang/go-fastdfs.git
二、编译
cd go-fastdfs
mv vendor src
pwd=`pwd`
GOPATH=$pwd go build -o fileserver fileserver.go
编译后会生成fileserver文件
三、修改配置
vim go-fastdfs/conf/cfg.json
说明:该配置会自动生成且自动填充配置数据(即编译运行后生成)
修改下载域名--`download_domain`,改为正式服使用的下载域名,注意此用于外网下载文件的域名,不包含`http://`,如果需改为`https://`,需要在修改源代码
修改端口--`addr`、本主机地址--`host`以及集群--`peers`中的端口,改为空闲端口
若不设置集群,可先不修改集群配置
nginx可以不安装,也可以选择安装
go fastdfs 本身就是一个高性能的web文件服务器
四、修改源代码
1.修改返回结果中url前缀http
为https
在方法--func (this *Server) BuildFileResult(fileInfo *FileInfo, r *http.Request) FileResult
中
将返回结果fileResult.Url
和fileResult.Domain
对应的值中的http
改为https
2.修改返回结果的类型
如果不设置返回结果类型,返回结果为text类型,且只返回文件可访问的url
可以设置返回结果类型为json,需要传入参数output: "json",这样返回结果为json类型
如果需要设置output为空时返回json,可直接修改源代码:
在func (this *Server) Upload(w http.ResponseWriter, r *http.Request)中
if output == "" {
output = "text"
}
将"text"改为"json"即可
五、后台运行程序
cd go-fastdfs
chmod +x control
./control start|stop|status #对和序进行启动,停止,查看状态等
注意事项:确保control与fileserver在同一个目录