検索

ホームページ  >  に質問  >  本文

node.js - node端口占用要怎么处理?

node端口占用要怎么处理

巴扎黑巴扎黑2866日前822

全員に返信(6)返信します

  • 大家讲道理

    大家讲道理2017-04-17 14:55:58

    www のリスニング ポートを変更するだけです。

    返事
    0
  • 迷茫

    迷茫2017-04-17 14:55:58

    ポートを変更できる場合は、プロジェクト内で config.js を見つけます。そのポートが表示されますか?後者の値を変更するだけです。
    ポートを変更できない場合。 。

    画像は Windows の下にあるため、Windows の方法に従ってください。

    netstat –ano|findstr "8080"

    対応するプロセスの PID を見つけて、次のようにします。

    taskkill -PID <プロセス ID> -F

    または、タスク マネージャーに移動し、PID に対応するプロセスを見つけて終了します。

    返事
    0
  • 阿神

    阿神2017-04-17 14:55:58

    この場合、10 回中 9 回、プログラムがすでに開始されているか、別のノード ファイルがこのポートをリッスンしています。そのプログラムを ctrl+c を使用するだけです。

    返事
    0
  • 怪我咯

    怪我咯2017-04-17 14:55:58

    プロセスを強制終了するか、ポートの変更を開始します

    返事
    0
  • 阿神

    阿神2017-04-17 14:55:58

    https://segmentfault.com/a/11...

    ノードの実装ポートが占有されています。別のポートを使用してください

    ssr ツールが複数のサービスを起動するとポートが占有される問題を解決するため。研究から得たコード スニペットを共有します。

    // ポートが占有されているかどうかを確認します
    関数プローブ(ポート、コールバック) {
    
        var サーバー = net.createServer().listen(ポート)
    
        var calledOnce = false
    
        var timeoutRef = setTimeout(function () {
            呼び出された一度 = true
            コールバック(false,ポート)
        }、2000)
    
        timeoutRef.unref()
    
        var 接続 = false
    
        server.on('listening', function() {
            clearTimeout(timeoutRef)
    
            if(サーバー)
                サーバー.クローズ()
    
            if (!callOnce) {
                呼び出された一度 = true
                コールバック(true,ポート)
            }
        })
    
        server.on('エラー', function(err) {
            clearTimeout(timeoutRef)
    
            var 結果 = true
            if (err.code === 'EADDRINUSE')
                結果 = false
    
            if (!callOnce) {
                呼び出された一度 = true
                コールバック(結果、ポート)
            }
        })
    }
    

    使用例:

    関数サーバー(_port){
        var pt = _ポート || __ポート;
        プローブ(pt,function(bl,_pt){
            // ポートが占有されている場合、bl は false を返します
            // _pt: 受信ポート番号
            if(bl === true){
                //ssr(_pt)
                サーバー = http.createServer(connListener);
                サーバー = サーバー.listen(parseInt(_pt, 10));
                console.log("\n 静的ファイル サーバーは " + "\n\n=> http://localhost:" + _pt + '\n') で実行されています。
            }それ以外{
                サーバー(_pt+1)
            }
        })
    }

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 14:55:58

    ステップ 1: lsof -i:portnumber を実行します。このコマンドを使用すると、ポート番号を占有しているプロセス ID を確認できます。
    ステップ 2: プロセス ID を強制終了します。

    X、あなたは Windows です。 。 。言わなかったとき。

    返事
    0
  • キャンセル返事