部署維運平台報錯:connection refused
報錯語句:ERROR: 2022/05/18 17:33:07 finedb connect error:dial tcp 192.168.1.24:3306: connect: connection refused
部署維運項目報錯:Server IP try to bind ports failed!
報錯語句:Server IP try to bind ports 9114,9100,9200,9080,9070 failed!
待部署的維運平台組件/維運項目組件容器,需要佔用一些埠。
如果這些埠已被佔用/沒有開放,則無法成功部署,會出現以上報錯。
請依次檢查以下三者:
1)檢查該埠是否被伺服器中其他進程佔用
如果埠被佔用,則需要更換一個未被佔用的埠,再檢查新埠的下兩項。
如果埠未被佔用,則需要檢查該埠的下兩項。
2)檢查伺服器防火牆是否放行埠
如果伺服器防火牆未開啟,建議開啟。
如果伺服器防火牆開啟,需要開放所需埠。
如果埠已開放,請檢查下一項。
3)如為雲伺服器,請檢查伺服器安全組是否放行埠
雲伺服器安全組埠放行方式本文不作介紹,請聯絡你的雲伺服器廠商諮詢。
本文提供多種方法檢查Linux系統中的埠是否被其他進程佔用。
需要注意的是,執行以下命令通常需要以root使用者或具有足夠權限的使用者身分運作,以獲取完整的進程資訊。
netstat -tuln | grep <埠號>
將 <埠號> 更換為您要檢查的具體埠號
這條命令將顯示監聽該埠的進程資訊
如果有進程正在使用該埠,您將能夠看到相關的匯出
如果該埠未被佔用,則無任何匯出
lsof -i :<埠號>
這條命令將顯示開啟該埠的進程及其相關資訊。
1)建議伺服器防火牆長期啟動。
2)建議開放且只開放必要的埠,防止不必要的網路曝光。
本範例介紹如何開放防火牆並放行8080埠。
1)啟動防火牆
檢查防火牆狀態:systemctl status firewalld。回傳值為「not running」,說明未啟動防火牆
啟動防火牆:systemctl start firewalld
再次檢查防火牆狀態:systemctl status firewalld。回傳值為「running」,說明已啟動防火牆
2)開放8080埠
檢查埠是否放行:firewall-cmd --zone=public --query-port=8080/tcp。回傳值為「no」,說明未放行8080埠
開放埠:firewall-cmd --zone=public --add-port=8080/tcp --permanent。回傳值為「success」,說明已放行8080埠
更新防火牆規則:firewall-cmd --reload。回傳值為「success」,說明已更新規則
再次檢查埠是否放行:firewall-cmd --zone=public --query-port=8080/tcp。回傳值為「yes」,說明已放行8080埠