自宅にインストールしたApache Webサーバーでポート80とポート8080をリッスンしたいのですが。
私は追加しました Listen 8080
をhttpd.confに追加してApacheサービスを再起動しましたが、サーバーは8080をリッスンしていないようです。パンチング http:// localhost:808 がタイムアウトし、インデックスが表示されません。 htmlですが http:// localhost は私のindex.htmlを表示します。
80と8080をリッスンする方法を教えてください。
Apacheの標準のDebianインストールには、次の構成のフラグメントがあります。
リッスン80 <IfModule mod_ssl.c> #SSL名ベースの仮想ホストはまだサポートされていないため、no #NameVirtualHostステートメントはここにあります 443を聞く </ IfModule>
これは、mod_sslが構成されている場合、Apacheにポート80で待機し、ポート443で待機するように指示しています。あなたの場合あなたが望むでしょう:
Listen 80
Listen 8080
新しいListenディレクティブに注意を払うには、Apacheのリロード操作ではなく、必ず再起動を実行する必要があります。最も安全な方法は、Apacheを停止し、Apacheが停止していることを確認して、再度起動することです。
この構成が機能しない場合は、ログファイルでエラーメッセージを確認してください。 「netstat -lep --tcp」を使用して、ポート8080でリッスンしているものがあるかどうかを確認できます。最後に、他のすべてが機能しない場合は、straceでApacheを実行して、そのポートにバインドしようとして失敗していることを確認します。しかし、問題をログに記録しません。
これらの回答は素晴らしいですが、オーウェンhasが実際にこれをすでに行った( "Listen 8080
を追加しました")可能性はありません。提案しています)。
既にこれを実行しても機能しない場合は、デフォルトのディレクティブを含めて、サブドメインごとにディレクティブを正しく構成していることを確認してください(名前の直後に:80をリッスンするように手動で構成されている場合)。
おそらく次のようなディレクティブがあります:
<VirtualHost *:80>
ServerName michaelsanford.com
etc…
</VirtualHost>
これを<VirtualHost *:8080>
または<VirtualHost *:*>
に変更する必要があります。
ステップ1
#vi httpd.conf
Listen 80
<IfModule mod_ssl.c>
# SSL name based virtual hosts are not yet supported, therefore no
# NameVirtualHost statement here
Listen 443
</IfModule>
http_(Apache)は、ポート80でリッスンし、mod_sslが構成されている場合はポート443でリッスンします。
Listen 80
Listen 8080
ステップ2
#su - service httpd restart
ステップ3
$ netstat -lntp
(すべてのプロセスを識別できるわけではなく、所有されていないプロセス情報は表示されません。すべてを表示するにはrootである必要があります。)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:47027 0.0.0.0:* LISTEN -
tcp 0 0 192.168.1.1:80 0.0.0.0:* LISTEN -
tcp 0 0 192.168.1.1:8080 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN -
tcp 0 0 ::ffff:127.0.0.1:45100 :::* LISTEN 3149/Java
tcp 0 0 :::111 :::* LISTEN -
tcp 0 0 :::80 :::* LISTEN -
tcp 0 0 :::57173 :::* LISTEN 3149/Java
tcp 0 0 :::18197 :::* LISTEN 3149/Java
tcp 0 0 :::22 :::* LISTEN -
tcp 0 0 ::1:631 :::* LISTEN -
tcp 0 0 :::40832 :::* LISTEN 3149/Java
tcp 0 0 ::ffff:127.0.0.1:6880 :::* LISTEN 3149/Java
これを機能させるには、サイトにポート8080を構成する必要がある場合があります。 Apache Virtual Hosts のドキュメントを読みます。各「サイト」は、特定のポート(およびIPなど)での接続を受け入れるように設定できます。ポート80に対してのみ構成されている仮想ホストがhttp.confにありますか?
また、netstat -nlp
を使用してサーバーが8080でリッスンし、そのポートでエントリを探していることを確認できます。
SELinuxが有効になっているかどうかを確認することもできます。デフォルトのSELinux構成では、非標準ポートでApacheを実行できない場合があります。 SELinuxを実行しているかどうか、およびその機能を使用したくない、または使用していない場合に、SELinuxを無効にする方法を示したサイトを次に示します。 http://www.crypt.gen.nz/selinux/disable_selinux.html
Linuxがnetstat -lntp
rootとして、Apacheが8080をリッスンしているかどうかを確認します。これは、問題がApacheがリッスンしていないのか、Apacheの外部の要因(ファイアウォール、selinuxなど)が接続をタイムアウトにしているのかを識別するのに役立ちます。