[ 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

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM