欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Idea啟動SpringBoot程序報錯:Veb server failed to start. Port 8082 was already in use;端口沖突的原理與解決方案

 更新時間:2024年10月04日 09:28:12   作者:watermelo37  
這篇文章主要介紹了Idea啟動SpringBoot程序報錯:Veb server failed to start. Port 8082 was already in use;端口沖突的原理與解決方案,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下

Idea啟動SpringBoot程序報錯:Veb server failed to start. Port 8082 was already in use

啟動項目發(fā)現(xiàn)端口被占用,問題是項目端口就是常用的開發(fā)端口(8080系列...)

報錯信息為:

Description:
Veb server failed to start. Port 8082 was already in use
Action:
Identify and stop the process that's listening on port 8082 or configure this application to listen on another port.

一、解決辦法

1、查找占用端口的進程

  • 以管理員身份打開命令提示符。
  • 輸入以下命令并按回車:
netstat -aon | findstr :8082

記下輸出中的PID(進程ID)

2、結(jié)束進程(兩種方法)

①在任務(wù)管理器中終結(jié)指定pid的進程

在任務(wù)管理器中,轉(zhuǎn)到“進程”標簽,找到你記下的PID對應(yīng)的進程,右鍵點擊它,然后選擇“結(jié)束任務(wù)”。

②在命令提示符中結(jié)束進程

將<PID>替換為實際的進程ID。

taskkill /PID <PID> /F

3、重新啟動項目

終結(jié)占用端口的進程后,重新啟動項目即可。

4、對于macOS和Linux系統(tǒng)

查找進程的指令為:

sudo lsof -i :8082

結(jié)束進程的指令為:

sudo kill -9 <PID>

其余步驟一致。

二、博主親歷

我出現(xiàn)8082端口占用的時候發(fā)現(xiàn)是QQ占用了該端口,直接把QQ退出之后重新啟動項目后解決。然后再登錄QQ也沒有沖突,問題解決。

        QQ在運行時需要監(jiān)聽特定的端口以進行網(wǎng)絡(luò)通信??赡苁且驗镼Q的某個服務(wù)或功能需要在這個端口上進行數(shù)據(jù)傳輸或接收。當QQ啟動時,它會嘗試綁定到這個端口,如果該端口未被其他服務(wù)使用,QQ就會成功占用該端口進行通信。如果端口8082被QQ占用,而你又需要在這個端口上運行其他服務(wù),就可能會遇到端口沖突的問題。

三、為什么會出現(xiàn)端口沖突的問題

本質(zhì)因為多個進程同時需要使用一個端口,造成問題,具體原因要從端口的相關(guān)知識入手。

1、端口和監(jiān)聽

在計算機網(wǎng)絡(luò)中,端口是用于區(qū)分不同服務(wù)的邏輯概念。每個端口都有一個唯一的編號,范圍從0到65535。Web服務(wù)器通常需要監(jiān)聽一個端口,以便能夠接收和響應(yīng)來自客戶端(如瀏覽器)的請求。當你啟動一個Web服務(wù)器并指定一個端口時,服務(wù)器會嘗試綁定到該端口并開始監(jiān)聽。

2、端口沖突

如果一個端口已經(jīng)被另一個進程綁定和監(jiān)聽,那么其他進程就不能再綁定到同一個端口上。這是為了防止數(shù)據(jù)混亂和確保每個服務(wù)的獨立性。當你嘗試啟動的Web服務(wù)器發(fā)現(xiàn)指定的端口(在這個例子中是8082)已經(jīng)被占用時,它會無法啟動,并顯示錯誤信息。

3、操作系統(tǒng)的端口管理

操作系統(tǒng)負責(zé)管理所有網(wǎng)絡(luò)端口的使用情況。當一個進程請求綁定到某個端口時,操作系統(tǒng)會檢查該端口是否可用。如果端口已經(jīng)被占用,操作系統(tǒng)會拒絕新的綁定請求,并返回一個錯誤。

這就是為什么會出現(xiàn)該錯誤的原因了。

四、端口沖突常見的解決方案

1、查找并停止占用端口的進程

即本文所介紹的方法

2、配置應(yīng)用程序監(jiān)聽其他端口

比如SpringBoot中,會在application.properties文件中聲明

server.port=8082

又比如在Vue項目中會在vue.config.js文件中添加devServer屬性,port屬性的值就是端口(后面proxy里面的target不是,那個是后端接口應(yīng)用程序的端口)

    devServer: {
        host: "0.0.0.0",
        port: 8083,
        // 后端接口設(shè)置,防止跨域
        proxy: {
            "/api": {
                target: "http://127.0.0.1:8082/",
                ws: true,
                changeOrigin: true,
                pathRewrite: {
                    "^/api": "",
                },
            },
        },
    },

根據(jù)開發(fā)語言的特性修改即可。 

3、使用端口轉(zhuǎn)發(fā)或代理

在某些情況下,你可以使用端口轉(zhuǎn)發(fā)或代理服務(wù)器來解決端口沖突問題。這樣,你可以讓代理服務(wù)器監(jiān)聽一個端口,然后將流量轉(zhuǎn)發(fā)到你的Web服務(wù)器監(jiān)聽的端口。

五、總結(jié)

本文解決了Idea啟動SpringBoot程序報錯:Veb server failed to start. Port 8082 was already in use的問題,并通過介紹端口的使用原理和操作系統(tǒng)的端口管理機制,可以更有效地解決端口沖突問題,并確保Web服務(wù)器能夠順利啟動和運行。

只有鍛煉思維才能可持續(xù)地解決問題,只有思維才是真正值得學(xué)習(xí)和分享的核心要素。如果這篇博客能給您帶來一點幫助,麻煩您點個贊支持一下,還可以收藏起來以備不時之需,有疑問和錯誤歡迎在評論區(qū)指出~

以上就是Idea啟動SpringBoot程序報錯:Veb server failed to start. Port 8082 was already in use;端口沖突的原理與解決方案的詳細內(nèi)容,更多關(guān)于Idea啟動SpringBoot 8082端口沖突的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論