私が管理する2つのサーバーが開発中に同時にポート3000でリッスンできることに驚きました。
最初のサーバーが稼働している場合は、netstatに次のように表示されます。
▶ sudo netstat -nap tcp | grep 3000
tcp6 0 0 ::1.3000 *.* LISTEN
tcp4 0 0 127.0.0.1.3000 *.* LISTEN
両方を実行します。
▶ sudo netstat -nap tcp | grep 3000
tcp4 0 0 *.3000 *.* LISTEN
tcp6 0 0 ::1.3000 *.* LISTEN
tcp4 0 0 127.0.0.1.3000 *.* LISTEN
これの説明は、最初のサーバーはlocalhost(127.0.0.1)に対してポート3000のみをバインドし、2番目のサーバーは「すべて」(0.0.0.0)アドレスにポート3000をバインドしたことです。そうなんですか?
この動作は、最初のサーバーが他のサーバーが特別にターゲティングするトラフィックを置き換えるように見えますが、http://localhost:3000
これは妥当だと思います。私はこのやや驚くべき状況についての私の理解を確認したかっただけで、そのポートのアドレスがすでにバインドされている場合は、「すべての」アドレスを受信しようとする試みが失敗すると思いました。
ベストアンサー1
最初のサービスの場合、あなたの家は正しいです。これはとlocalhost
を受け取りますlocahost6
。 2つ目は上記と違ってホストのIPを聞いているようです。しかし、2番目に聞くことも可能ですlocalhost
。どちらも停止し、2番目のものだけを起動すると確認できます。
控えめな提案をするには:サービス1とサービス2のポートを外します。たとえば、ポートを 3001 と 3002 に設定します。