go-fastdfs分布式文件系统部署说明
一、服务部署:
1、部署环境
- 地址: 192.168.40.***
- 端口: 9595
- 访问地址: http://192.168.***.***:9595/
- 路径: /opt/go-fastdfs
- github地址: github.com/sjqzhang/go…
- 中文文档: sjqzhang.github.io/go-fastdfs/…
2、系统.porperties 新增配置说明
# 文件系统服务地址
files-server-url = http://192.168.***.***:9595/**/upload
# 是否关闭安全验证 false 开启 true 关闭
security-verification-run = false
# 安全验证码
security-verification-code = pmis-code
# 安全验证服务器地址 就是本系统安装地址 须在文件服务器配置
security-verification-url = http://192.168.***.***:***/*****/security
安全接口配置示例
3、安全验证接口(此接口为白名单、参数获取(auth_token)只有return ”ok“ 才会验证通过)
http://192.168.***.***:***/security
// 示例
@RequestMapping("/security")
@ResponseBody
public String securityVerification(HttpServletRequest request){
String success = "fail";
//如果验证关闭则直接返回 ok
if( securityVerificationRun ){
success = "ok";
} else {
String auth_token = request.getParameter("auth_token");
if ( securityVerificationCode.equals( auth_token ) ){
success = "ok";
}
}
return success;
}
4、上传接口说明
url:http://192.168.**.***:***/group1/upload
参数:
- MultipartFile file 文件流 (必填项)
- scene:" default" 场景(必填项)
- filename: 文件名
- output: ”json“
- path: 自定义路径 默认年月日时分秒文件夹
- auth_token: String // 验证权限接口获取得值
5、部署步骤
-
进入网址 github.com/sjqzhang/go… 选则合适得版本下载到本地
-
解压后 将fileserver文件赋予可执行权限 (chmod +x fileserver)并执行命令 ./fileserver
-
将会得到如下列表
-
修改配置文件
vim ./conf/cfg.json 看到如下配置文件(修改对应端口、本主机地址、集群、组号即可,其余配置可看说明自行决定改不改)
{ "绑定端号": "端口", "addr": ":***", "是否开启https": "默认不开启,如需启开启,请在conf目录中增加证书文件 server.crt 私钥 文件 server.key", "enable_https": false, "PeerID": "集群内唯一,请使用0-9的单字符,默认自动生成", "peer_id": "0", "本主机地址": "本机http地址,默认自动生成(注意端口必须与addr中的端口一致),必段为内网,自动生成不为内网请自行修改,下同", "host": "http://192.168.***.***:***", "集群": "集群列表,注意为了高可用,IP必须不能是同一个,同一不会自动备份,且不能为127.0.0.1,且必须为内网IP,默认自动生成", "peers": ["http://192.168.**.***:***"], "组号": "用于区别不同的集群(上传或下载)与support_group_manage配合使用,带在下载路径中", "group": "pmis", "是否支持按组(集群)管理,主要用途是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": false, "是否支持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, "邮件配置": "", "mail": { "user": "abc@163.com", "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"], "是否启用迁移": "默认不启用", "enable_migrate": false, "文件是否去重": "默认去重", "enable_distinct_file": true, "是否开启跨站访问": "默认开启", "enable_cross_origin": true, "是否开启Google认证,实现安全的上传、下载": "默认不开启", "enable_google_auth": false, "认证url": "当url不为空时生效,注意:普通上传中使用http参数 auth_token 作为认证参数, 在断点续传中通过HTTP头Upload-Metadata中的auth_token作为认证参数,认证流程参考认证架构图", "auth_url": "http://192.168.***.***:***/security", "下载是否认证": "默认不认证(注意此选项是在auth_url不为空的情况下生效)", "enable_download_auth": false, "默认是否下载": "默认下载", "default_download": false, "本机是否只读": "默认可读可写", "read_only": false, "是否开启断点续传": "默认开启", "enable_tus": true, "同步单一文件超时时间(单位秒)": "默认为0,程序自动计算,在特殊情况下,自已设定", "sync_timeout": 0 } -
再次执行 ./fileserver 则运行看到如下图所示 (**CTRL+c 则可以关闭服务)
访问 http:路径+端口 (注意防火墙打开端口)成功即可
-
下载后台启动shll脚本
在git目录下找到control 脚本 ,上传至fileserver 脚本同级目录下,赋权可执行权限(chmod +x fileserver),执行 ./control 可得如下图 帮助文档,执行对应操作
执行./control start ,服务即可正常启动
二、后台管理配置
1、部署环境
- 地址 192.168.*.
- 端口: ***
- 访问地址: http://192.168..:***
- 登录名: ***
- 密码: ***
- 部署路径: /opt/go-fastdfs-web
- github地址: github.com/perfree/go-…
2、安装步骤
- 前往下载地址下载对应文件
- 上传至服务器对应地址
- 解压压缩包
- 执行 ./goFastDfsWeb.sh start 即可启动服务
** 启动文件为doc centos7 系统下启动报错 需转变格式为unix (参考 github.com/perfree/go-…
-
访问 http://192.168..:** (防火墙端口开启)
**第一次访问需要设置登录名(以后不可更改)、密码、组名等事项 根据自己实际情况设置