亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Idea啟動(dòng)SpringBoot程序報(bào)錯(cuò):Veb server failed to start. Port 8082 was already in use;端口沖突的原理與解決方案

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

Idea啟動(dòng)SpringBoot程序報(bào)錯(cuò):Veb server failed to start. Port 8082 was already in use

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

報(bào)錯(cuò)信息為:

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、查找占用端口的進(jìn)程

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

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

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

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

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

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

將<PID>替換為實(shí)際的進(jìn)程ID。

taskkill /PID <PID> /F

3、重新啟動(dòng)項(xiàng)目

終結(jié)占用端口的進(jìn)程后,重新啟動(dòng)項(xiàng)目即可。

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

查找進(jìn)程的指令為:

sudo lsof -i :8082

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

sudo kill -9 <PID>

其余步驟一致。

二、博主親歷

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

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

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

本質(zhì)因?yàn)槎鄠€(gè)進(jìn)程同時(shí)需要使用一個(gè)端口,造成問(wèn)題,具體原因要從端口的相關(guān)知識(shí)入手。

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

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

2、端口沖突

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

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

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

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

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

1、查找并停止占用端口的進(jìn)程

即本文所介紹的方法

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

比如SpringBoot中,會(huì)在application.properties文件中聲明

server.port=8082

又比如在Vue項(xiàng)目中會(huì)在vue.config.js文件中添加devServer屬性,port屬性的值就是端口(后面proxy里面的target不是,那個(gè)是后端接口應(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ā)語(yǔ)言的特性修改即可。 

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

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

五、總結(jié)

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

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

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

相關(guān)文章

最新評(píng)論