晚上將老伺服器程式從win2008部署在新的雲伺服器win2012上,其實就是複製過去改改配置,啟動時突然報不能綁定到埠號:9194原因:Cannot assign requested address: JVM_Bind。 原因分析 1、首先分析可能是埠占用,輸入netstat -an,發現並沒 ...
晚上將老伺服器程式從win2008部署在新的雲伺服器win2012上,其實就是複製過去改改配置,啟動時突然報不能綁定到埠號:9194原因:Cannot assign requested address: JVM_Bind。
原因分析
1、首先分析可能是埠占用,輸入netstat -an,發現並沒有9194埠在監聽。
2、各種百度,找到的基本上都是埠衝突,或者是因為C:\Windows\System32\drivers\etc\hosts文件內有ip不存在,經過各種分析,總結如下。
同時筆者另外還有一個項目也在使用這個類似的程式,用的也是2012,兩個伺服器都在同一個雲伺服器機房,所以伺服器配置應該一樣的,那個就沒有報錯,上去看了下相同的配置文件,發現涉及到的埠所監聽的ip配置的為內網ip。(一般都是配置公網ip的,因為要給網關來上傳status使用),後來查看伺服器網卡,發現只有一個內網網卡,問題就出在這裡。
、、、劃重點、、、、、
在伺服器領域,一臺電腦配置多個IP地址是比較常見的。Tomcat在啟動時,會根據配置去獲取所有的IP地址,並且進行逐個綁定,當發現需要綁定的IP地址不存在時,將會觸發上述異常,從而導致無法正常啟動。
因為本機內並沒有配置任何公網ip信息,所以程式在啟動時找不到這個配置的ip信息。導致出現上述報錯。