web-dev-qa-db-ja.com

Macのポート80が使用されます

サーバーにはポート80を使用する必要があります。しかし、Macで使用しようとすると、常に80が使用されていると表示されていましたが、どのプログラムで使用されているのかわかりません。

私はそれをグーグルで検索しました、そして誰かがそれがアパッチについてであると言いました、しかし私は試みました、それは機能していません。私はこれを見つけました: https://Gist.github.com/kujohn/7209628 ですが、IPアドレスでサーバーにアクセスしても機能していないようです。

私は本当に何が起こっているのか、そしてどのようにしてポート80を使用しているプログラムを見つけてそれを止めることができるのか本当にわかりません。

誰かが助けてくれてありがとう、私はMacを使うのが初めてです。ありがとう。

16
Sky

ポート80を使用しているプロセスを確認するには

  1. Applicationsに移動します
  2. 開くユーティリティ
  3. 開くアクティビティモニター
  4. Memoryタブをクリックします。
  5. ポートとそれらを使用するプロセスを確認します。ポート80を見つけて選択します
  6. メニューバーのビューに行き、Quit processを選択します。

これはプロセスを強制終了するだけで、すでに実行中のサーバーインスタンスの実行を停止することはありません。

データベース管理システムを使用しているかどうかは不明ですが、MAMPを使用してうまくいった方法は次のとおりです。

  • Sudo apachectl stopコマンドを使用してサーバーを停止します。
  • 次に、ポートをポート80に変更します。
  • 次に、サーバーを再起動します。
27
David Odhiambo

ターミナルで次のように入力します

Sudo lsof -i -n -P | grep TCP

あなたはリストを取得します-例えばDropboxは80をリッスンします
出力をテキストエディタなどにコピーして検索できます

9
Glock34shooter

Macでは、1024未満のポートはrootユーザーのみがバインドできます。 rootユーザー(Sudoを使用)としてサーバーを起動するか、1024を超えるポートを使用してみてください。

/etc/sudoersでroot権限をユーザーに追加することもできます

# root and users in group wheel can run anything on any machine as any user
root            ALL = (ALL) ALL
%admin          ALL = (ALL) ALL
your_user_here  ALL = (ALL) ALL
3

ポート80を使用しているSkypeである可能性があります。Skypeをインストールして実行している場合は、設定で別のポートに変更してみてください。

2
Markus Lindberg

私はこの問題を抱えていました、Apacheはlaunchctlを介して無効にされましたが、起動後もポート80を拘束していましたが、Apacheを起動でき、動作しましたが、アンロードした後、ポート80で何も起動できませんでした。 Pythonの組み込みWebサーバーを簡単なテストとして使用します。ポート81では機能しますが、ポート80では機能しません。

Sudo python -m SimpleHTTPServer 80-機能しない

Sudo python -m SimpleHTTPServer 81-機能する

症状は次のとおりです。

$ launchctl unload -w /System/Library/LaunchDaemons/org.Apache.httpd.plist 
/System/Library/LaunchDaemons/org.Apache.httpd.plist: Could not find specified service
$ Sudo lsof -i ':80'
COMMAND  PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Python  3353 root    3u  IPv4 0xe455777a82799f05      0t0  TCP *:http (LISTEN)

(あまりにも多くの検索を行った後の)私にとっての修正は簡単でした:

Sudo pfctl -F all

これにより、パケットフィルターがフラッシュされ、ポート80が解放されます(Apacheが占有している可能性のあるポートはすべて8080、443と想定されます)。

その後、pythonサーバーを再起動すると、すぐに起動しました。

1
Colin