資源服務器搭建(go-fastdfs)

1 單機部署

A 編譯安裝
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

B 運行
./fileserver

測試使用地址:http://127.0.0.1:8080/

image.png-56kB

2 鑑權以及配置(conf/cfg.json)

{
	"綁定端號": "端口",
	"addr": ":8080",
	"是否開啓https": "默認不開啓,如需啓開啓,請在conf目錄中增加證書文件 server.crt 私鑰 文件 server.key",
	"enable_https": false,
	"PeerID": "集羣內唯一,請使用0-9的單字符,默認自動生成",
	"peer_id": "1",
	"本主機地址": "本機http地址,默認自動生成(注意端口必須與addr中的端口一致),必段爲內網,自動生成不爲內網請自行修改,下同",
	"host": "http://172.27.0.7:8080",
	"集羣": "集羣列表,注意爲了高可用,IP必須不能是同一個,同一不會自動備份,且不能爲127.0.0.1,且必須爲內網IP,默認自動生成",
	"peers": ["http://172.27.0.7:8080"],
	"組號": "用於區別不同的集羣(上傳或下載)與support_group_manage配合使用,帶在下載路徑中",
	"group": "group1",
	"是否支持按組(集羣)管理,主要用途是Nginx支持多集羣": "默認支持,不支持時路徑爲http://10.1.5.4:8080/action,支持時爲http://10.1.5.4:8080/group(配置中的group參數)/action,action爲動作名,如status,delete,sync等",
	"support_group_manage": true,
	"是否合併小文件": "默認不合並,合並可以解決inode不夠用的情況(當前對於小於1M文件)進行合併",
	"enable_merge_small_file": false,
    "允許後綴名": "允許可以上傳的文件後綴名,如jpg,jpeg,png等。留空允許所有。",
	"extensions": [],
	"重試同步失敗文件的時間": "單位秒",
	"refresh_interval": 1800,
	"是否自動重命名": "默認不自動重命名,使用原文件名",
	"rename_file": true,
	"是否支持web上傳,方便調試": "默認支持web上傳",
	"enable_web_upload": true,
	"是否支持非日期路徑": "默認支持非日期路徑,也即支持自定義路徑,需要上傳文件時指定path",
	"enable_custom_path": true,
	"下載域名": "用於外網下載文件的域名,不包含http://",
	"download_domain": "",
	"場景列表": "當設定後,用戶指的場景必項在列表中,默認不做限制(注意:如果想開啓場景認功能,格式如下:'場景名:googleauth_secret' 如 default:N7IET373HB2C5M6D ",
	"scenes": [],
	"默認場景": "默認default",
	"default_scene": "default",
	"是否顯示目錄": "默認顯示,方便調試用,上線時請關閉",
	"show_dir": true,
	"redis配置": "用於保存文件元信息",
	"郵件配置": "",
	"mail": {
		"user": "[email protected]",
		"password": "abc",
		"host": "smtp.163.com:25"
	},
	"告警接收郵件列表": "接收人數組",
	"alarm_receivers": [],
	"告警接收URL": "方法post,參數:subject,message",
	"alarm_url": "",
	"下載是否需帶token": "真假",
	"download_use_token": false,
	"下載token過期時間": "單位秒",
	"download_token_expire": 600,
	"是否自動修復": "在超過1億文件時出現性能問題,取消此選項,請手動按天同步,請查看FAQ",
	"auto_repair": true,
	"文件去重算法md5可能存在衝突,默認md5": "sha1|md5",
	"file_sum_arithmetic": "md5",
	"管理ip列表": "用於管理集的ip白名單,",
	"admin_ips": ["127.0.0.1","125.70.76.141"],
	"是否啓用遷移": "默認不啓用",
	"enable_migrate": false,
	"文件是否去重": "默認去重",
	"enable_distinct_file": true,
	"圖片是否縮放": "默認是",
	"enable_image_resize": true,
	"是否開啓跨站訪問": "默認開啓",
	"enable_cross_origin": true,
	"是否開啓Google認證,實現安全的上傳、下載": "默認不開啓",
	"enable_google_auth": false,
	"認證url": "當url不爲空時生效,注意:普通上傳中使用http參數 auth_token 作爲認證參數, 在斷點續傳中通過HTTP頭Upload-Metadata中的auth_token作爲認證參數,認證流程參考認證架構圖",
	"auth_url": "http://47.75.111.156/api/public/?service=upload.uploadFastDfsAuth",
	"下載是否認證": "默認不認證(注意此選項是在auth_url不爲空的情況下生效)",
	"enable_download_auth": false,
	"默認是否下載": "默認下載",
	"default_download": false,
	"本機是否只讀": "默認可讀可寫",
	"read_only": false,
	"是否開啓斷點續傳": "默認開啓",
	"enable_tus": true,
	"同步單一文件超時時間(單位秒)": "默認爲0,程序自動計算,在特殊情況下,自已設定",
	"sync_timeout": 0
}

備註:auth_url修改爲PHP部署服務地址

3 集羣安裝

A 集羣部署圖

image.png-88kB

B 修改conf/cfg.json的peers參數

image.png-17.1kB

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章