阿里云ECS Windows端口異常占用的處理方法
問題現(xiàn)象
服務(wù)器應(yīng)用使用的端口被異常占用導致服務(wù)啟動失敗,例如:Windows上安裝的Tomcat無法啟動,TCP 80端口已經(jīng)被其它應(yīng)用占用。
問題原因
應(yīng)用程序需要使用的TCP/UDP端口被其它程序、或者病毒木馬占用。
排查方法
使用netstat -ano命令可以找出占用端口的進程ID,而后使用tasklist /svc命令找出對應(yīng)的進程。
如下給出一例安裝Tomcat后,啟動Tomcat提示端口被占用的處理過程。
使用netstat -ano |find ":80" 看到占用端口的進程ID是4,注:請根據(jù)實際情況修改端口
tasklist /svc| find "4" 看到是系統(tǒng)進程。 注:請根據(jù)實際情況修改進程ID
嘗試關(guān)閉了IIS ,iisreset /stop
但是發(fā)現(xiàn)80端口仍然被占用。于是使用curl -I 127.0.0.1 查看返回的server是 Microsoft-HTTPAPI/2.0 而不是Server: Microsoft-IIS/7.5
能夠使用Microsoft-HTTPAPI/2.0的只能是微軟的產(chǎn)品。檢查是否有安裝SQL SERVER ,如果有嘗試關(guān)閉SQL Server Reporting Service這個服務(wù)。
關(guān)閉后再使用curl -I 127.0.0.1 就提示80端口無法連接,說明端口已經(jīng)被釋放。
注意:如果沒有安裝curl還可以使用telnet 127.0.0.1 80 執(zhí)行完,ctrl+c終止就會出現(xiàn)下面圖片的樣子,也可以看到server:Microsoft-HTTPAPI/2.0 ,當然僅靠這個是不能判斷是哪個程序的。只能根據(jù)此判斷是微軟的應(yīng)用占用了。具體還需要看ECS上實際安裝了哪些微軟的應(yīng)用。
如有其他問題,請咨詢北京優(yōu)勝智連阿里云代理商客服,為您提供7*24小時全天全年的技術(shù)和售后服務(wù)的。
