node.js - node端口占用要怎么處理?
問題描述
node端口占用要怎么處理
問題解答
回答1:在www里面改一下監(jiān)聽端口就好。
回答2:如果能換端口,找到你項(xiàng)目中config.js 看到那個(gè)port了嗎?改后面的值就行。如果不能換端口的話。。
圖是在windows下的,那就按windows的方法了:
netstat –ano|findstr '8080'
找到對應(yīng)進(jìn)程的PID,然后:
taskkill -PID <進(jìn)程號> -F
或者進(jìn)任務(wù)管理器,找到對應(yīng)PID的進(jìn)程,結(jié)束之。
回答3:這種情況,十有八九是你的這個(gè)程序已經(jīng)啟動(dòng)或者你的另一個(gè)node文件正在監(jiān)聽這個(gè)端口。只需要將那個(gè)程序應(yīng)用ctrl+c掉。
回答4:殺掉進(jìn)程,或者啟動(dòng)更換端口
回答5:https://segmentfault.com/a/11...
Node 中實(shí)現(xiàn)端口被占用了,使用另外一個(gè)端口為了解決 ssr 工具 起多個(gè)服務(wù)的時(shí)候端口被占用的情況。分享研究的代碼片段。
// 檢測port是否被占用function probe(port, callback) { var server = net.createServer().listen(port) var calledOnce = false var timeoutRef = setTimeout(function () {calledOnce = truecallback(false,port) }, 2000) timeoutRef.unref() var connected = false server.on(’listening’, function() {clearTimeout(timeoutRef)if (server) server.close()if (!calledOnce) { calledOnce = true callback(true,port)} }) server.on(’error’, function(err) {clearTimeout(timeoutRef)var result = trueif (err.code === ’EADDRINUSE’) result = falseif (!calledOnce) { calledOnce = true callback(result,port)} })}
使用例子:
function server(_port){ var pt = _port || __port; probe(pt,function(bl,_pt){// 端口被占用 bl 返回false// _pt:傳入的端口號if(bl === true){ // ssr(_pt) server = http.createServer(connListener); server = server.listen(parseInt(_pt, 10)); console.log('n Static file server running at' + 'nn=> http://localhost:' + _pt + ’n’);}else{ server(_pt+1)} })}回答6:
第一步:運(yùn)行l(wèi)sof -i:端口號。通過這個(gè)命令你可以看到占用端口號的進(jìn)程ID。第二步:kill 進(jìn)程ID即可。
X,你是windows啊。。。當(dāng)我沒說。
相關(guān)文章:
1. 查詢mysql數(shù)據(jù)庫中指定表指定日期的數(shù)據(jù)?有詳細(xì)2. mysql - 怎么生成這個(gè)sql表?3. mysql儲存json錯(cuò)誤4. php - 公眾號文章底部的小程序二維碼如何統(tǒng)計(jì)?5. mysql - 表名稱前綴到底有啥用?6. mysql - 數(shù)據(jù)庫表中,兩個(gè)表互為外鍵參考如何解決7. Navicat for mysql 中以json格式儲存的數(shù)據(jù)存在大量反斜杠,如何去除?8. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語法實(shí)現(xiàn)存在即更新應(yīng)該使用哪個(gè)標(biāo)簽?9. mysql - 數(shù)據(jù)庫建字段,默認(rèn)值空和empty string有什么區(qū)別 11010. sql語句 - 如何在mysql中批量添加用戶?
