[ FastDFS ] [Error] 无法获取服务器端链接资源
Posted 鱼也
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ FastDFS ] [Error] 无法获取服务器端链接资源相关的知识,希望对你有一定的参考价值。
【Error:无法获取服务器端链接资源】 处理方式
使用单点配置。
在宿主机上通过IDEA测试程序时:
报错:com.github.tobato.fastdfs.exception.FdfsConnectException: 无法获取服务端连接资源:can\'t create connection to/192.168.77.130:22122
处理方法:
1. 在虚拟机上判断本机是否能正常上传。
[root@localhost ~]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf test.jpg
正常上传时,返回内容为文件id:
group1/M00/00/00/wKhNgl7E09iAPSsrAABslsuRKAU663.jpg
2. 考虑宿主机与虚拟机80端口能否正常通信:
参考资料:https://cloud.tencent.com/developer/article/1495437
参考资料中在宿主机测试能否ping通虚拟机80端口:
telnet 192.168.114.128 80
如果提示 “ telnet 不是内部或外部命令,也不是可运行程序 ” 错误,需要在window控制面板 -> 程序 -> 启用或关闭windows功能 -> 勾选“Telnet客户端”。(参考操作:https://jingyan.baidu.com/article/375c8e19bff04625f3a22961.html)
3. 修改虚拟机防火墙:
仅限于防火墙开启的状态进行修改,可以直接跳转至页面最后查看关闭防火墙的方法。
由于我使用的系统为 CentOS 7, 修改防火墙的方法与第二步参考资料的方法不同,因此单独列出。
CentOS 7 通过 firewall 控制防火墙。
启动 80 端口:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
[root@localhost ~]#firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙:
[root@localhost ~]#firewall-cmd --reload
查询80端口是否开启:
(如果打开端口后直接查询可能会是no, 因此打开端口后一定要先重启一下防火墙)
[root@localhost ~]# firewall-cmd --query-port=80/tcp
查询开启的端口列表:
[root@localhost ~]#firewall-cmd --list-port
总结:
我这里报错主要就是因为 centOS 7 的防火墙设置有问题。
一定要打开 80, 22122(tracker service), 23000(storage service)这三个端口。
打开以后,运行正常,可以返回文件ID。
也可以直接关闭防火墙:
systemctl stop firewalld
通过以下指令可以查看防火墙的开启状态:
Active:inactive(dead) 说明当前防火墙已经是关闭状态了
systemctl status firewalld
以上是关于[ FastDFS ] [Error] 无法获取服务器端链接资源的主要内容,如果未能解决你的问题,请参考以下文章