一、拉取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
編譯后會(huì)生成fileserver文件
三、修改配置
vim go-fastdfs/conf/cfg.json 說明:該配置會(huì)自動(dòng)生成且自動(dòng)填充配置數(shù)據(jù)(即編譯運(yùn)行后生成)
修改下載域名--`download_domain`,改為正式服使用的下載域名,注意此用于外網(wǎng)下載文件的域名,不包含`http://`,如果需改為`https://`,需要在修改源代碼
修改端口--`addr`、本主機(jī)地址--`host`以及集群--`peers`中的端口,改為空閑端口
若不設(shè)置集群,可先不修改集群配置
nginx可以不安裝,也可以選擇安裝
go fastdfs 本身就是一個(gè)高性能的web文件服務(wù)器
四、修改源代碼
1.修改返回結(jié)果中url前綴http為https
在方法--func (this *Server) BuildFileResult(fileInfo *FileInfo, r *http.Request) FileResult中
將返回結(jié)果fileResult.Url和fileResult.Domain對(duì)應(yīng)的值中的http改為https
2.修改返回結(jié)果的類型
如果不設(shè)置返回結(jié)果類型,返回結(jié)果為text類型,且只返回文件可訪問的url
可以設(shè)置返回結(jié)果類型為json,需要傳入?yún)?shù)output: "json",這樣返回結(jié)果為json類型
如果需要設(shè)置output為空時(shí)返回json,可直接修改源代碼:
在func (this *Server) Upload(w http.ResponseWriter, r *http.Request)中
if output == "" {
output = "text"
}
將"text"改為"json"即可
五、后臺(tái)運(yùn)行程序
cd go-fastdfs
chmod +x control
./control start|stop|status #對(duì)和序進(jìn)行啟動(dòng),停止,查看狀態(tài)等
注意事項(xiàng):確保control與fileserver在同一個(gè)目錄