Apache がポート 80 にバインドされないのですか?

Apache がポート 80 にバインドされないのですか?

Apache で問題が発生しています。 Centos をインストールしたばかりで、自分の Web サーバーを作成したいと考えています。 「Centos 7.2に最適なサーバー「そして私のマシンでこのエラーに遭遇しました

[root@server01 /]# sudo systemctl start httpd
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.

[root@server01 /]# systemctl status httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2016-11-02 14:04:03 PDT; 14s ago
     Docs: man:httpd(8)
           man:apachectl(8)
  Process: 30113 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)
  Process: 30065 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
 Main PID: 30065 (code=exited, status=1/FAILURE)

Nov 02 14:04:01 server01.tcforwarding.com systemd[1]: Starting The Apache HTTP Server...
Nov 02 14:04:02 server01.tcforwarding.com httpd[30065]: [Wed Nov 02 14:04:02.346089 2016] [alias:warn] [pid 30065] AH00671: The Scri...Alias.
Nov 02 14:04:02 server01.tcforwarding.com httpd[30065]: AH00548: NameVirtualHost has no effect and will be removed in the next relea...nf:356
Nov 02 14:04:02 server01.tcforwarding.com httpd: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
Nov 02 14:04:02 server01.tcforwarding.com systemd: httpd.service: main process exited, code=exited, status=1/FAILURE
Nov 02 14:04:02 server01.tcforwarding.com kill: kill: cannot find process ""
Nov 02 14:04:03 server01.tcforwarding.com systemd httpd.service: control process exited, code=exited status=1
Nov 02 14:04:03 server01.tcforwarding.com systemd: Failed to start The Apache HTTP Server.
Nov 02 14:04:03 server01.tcforwarding.com systemd: Unit httpd.service entered failed state.
Nov 02 14:04:03 server01.tcforwarding.com systemd: httpd.service failed.

これは私のvhostファイルのサンプルです ここに画像の説明を入力してください

誰かこれを理解するのを手伝ってくれませんか?

ランニングsudo netstat -nap | grep :80リターン

[root@server01 /]# sudo netstat -nap | grep :80
tcp        0      0 192.168.0.22:56616      104.16.13.8:80          TIME_WAIT   -                   
tcp        0      0 192.168.0.22:43882      151.101.193.69:80       ESTABLISHED 6833/firefox        
tcp        0      0 192.168.0.22:37556      151.101.129.69:80       ESTABLISHED 6833/firefox        
tcp        0      0 192.168.0.22:37722      151.101.65.69:80        ESTABLISHED 6833/firefox        
tcp        0      0 192.168.0.22:47506      151.101.1.69:80         ESTABLISHED 6833/firefox        
tcp        0      0 192.168.0.22:55722      54.225.161.140:80       ESTABLISHED 6833/firefox        
tcp        0      0 192.168.0.22:40710      107.14.33.34:80         ESTABLISHED 6833/firefox        
tcp        0      0 192.168.0.22:43884      151.101.193.69:80       ESTABLISHED 6833/firefox        
tcp        0      0 192.168.0.22:39374      50.16.185.14:80         ESTABLISHED 6833/firefox        
tcp        0      0 192.168.0.22:57408      104.16.12.8:80          ESTABLISHED 6833/firefox        
tcp6       0      0 2605:e000:9290:cf:57260 2607:f8b0:4007:80c::443 ESTABLISHED 6833/firefox        
tcp6       0      0 2605:e000:9290:cf:42280 2607:f8b0:4007:801:::80 ESTABLISHED 6833/firefox        
tcp6       0      0 2605:e000:9290:cf:35994 2607:f8b0:4007:80c::443 ESTABLISHED 6833/firefox        
tcp6       0      0 2605:e000:9290:cf:42210 2607:f8b0:4007:80b:::80 ESTABLISHED 6833/firefox

Firefoxをシャットダウンした後、同じコマンドを実行しています

[root@server01 /]# sudo netstat -nap | grep :80
tcp        0      0 192.168.0.22:39514      151.101.129.69:80       TIME_WAIT   -                   
tcp        0      0 192.168.0.22:39516      151.101.129.69:80       TIME_WAIT   -                   
tcp        0      0 192.168.0.22:57042      54.243.224.230:80       TIME_WAIT   -                   
tcp        0      0 192.168.0.22:59396      104.16.12.8:80          TIME_WAIT   -                   
tcp        0      0 192.168.0.22:39734      151.101.65.69:80        TIME_WAIT   -                   
tcp        0      0 192.168.0.22:58596      104.16.13.8:80          TIME_WAIT   -                   
tcp        0      0 192.168.0.22:39510      151.101.129.69:80       TIME_WAIT   -                   
tcp        0      0 192.168.0.22:37124      96.6.122.178:80         TIME_WAIT   -                   
tcp        0      0 192.168.0.22:39696      151.101.65.69:80        TIME_WAIT   -                   
tcp        0      0 192.168.0.22:57710      54.225.161.140:80       TIME_WAIT   -                   
tcp        0      0 192.168.0.22:47790      64.95.32.61:80          TIME_WAIT   -                   
tcp6       0      0 2605:e000:9290:cf:33722 2607:f8b0:4007:80b::443 TIME_WAIT   -                   
tcp6       0      0 2605:e000:9290:cf:53536 2607:f8b0:4007:801::443 TIME_WAIT   -                   
tcp6       0      0 2605:e000:9290:cf:58196 2607:f8b0:4007:806:::80 TIME_WAIT   -                   
tcp6       0      0 2605:e000:9290:cf:51876 2607:f8b0:4007:800::443 TIME_WAIT   -                   

このコマンドを再度実行すると、systemctl status httpd.service同じエラーが発生します

[root@server01 /]# systemctl status httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2016-11-02 20:34:28 PDT; 9s ago
     Docs: man:httpd(8)
       man:apachectl(8)
  Process: 17357 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)
  Process: 17343 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
 Main PID: 17343 (code=exited, status=1/FAILURE)

Nov 02 20:34:27 server01.tcforwarding.com systemd[1]: Starting The Apache HTTP Server...
Nov 02 20:34:28 server01.tcforwarding.com httpd[17343]: [Wed Nov 02 20:34:28.202720 2016] [alias:warn] [pid 17343] AH00671: The Scr...Alias.
Nov 02 20:34:28 server01.tcforwarding.com httpd[17343]: AH00548: NameVirtualHost has no effect and will be removed in the next rele...nf:356
Nov 02 20:34:28 server01.tcforwarding.com httpd[17343]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
Nov 02 20:34:28 server01.tcforwarding.com systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Nov 02 20:34:28 server01.tcforwarding.com kill[17357]: kill: cannot find process ""
Nov 02 20:34:28 server01.tcforwarding.com systemd[1]: httpd.service: control process exited, code=exited status=1
Nov 02 20:34:28 server01.tcforwarding.com systemd[1]: Failed to start The Apache HTTP Server.
Nov 02 20:34:28 server01.tcforwarding.com systemd[1]: Unit httpd.service entered failed state.
Nov 02 20:34:28 server01.tcforwarding.com systemd[1]: httpd.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

問題は依然として起動を妨げている

コマンドを実行するnmap 192.168.0.1と、

Starting Nmap 6.40 ( http://nmap.org ) at 2016-11-06 15:52 PST
Nmap scan report for server01.tcforwarding.com (192.168.0.1)
Host is up (0.000016s latency).
Not shown: 992 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
25/tcp   open  smtp
53/tcp   open  domain
110/tcp  open  pop3
143/tcp  open  imap
993/tcp  open  imaps
995/tcp  open  pop3s
3306/tcp open  mysql

Nmap done: 1 IP address (1 host up) scanned in 0.15 seconds

ポート 80 またはポート 443 がまったく表示されないのはなぜですか?

答え1

すでにポート80で何かを実行しています。このコマンドはそれを識別します

sudo netstat -nap | grep ':80 .*LISTEN'

答え2

どのサービスがどのポートで実行されているかを確認するには、nmap を使用することをお勧めします。nmap の結果は次のようになります...

$ nmap 192.168.50.25
...
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http   <~ make sure service is http
443/tcp  open  https

http 以外のものがポート 80 を使用している場合は、Apache の設定を変更して別のポートを指定するか、ポート 80 を使用しているサービスを別のポートに変更することができます。nmapのインストールガイドはこちら

答え3

まず、次のコマンドを使用する必要があります: netstat -natup |grep 80 どのサービスが実行されているかを確認する必要があります。ポート 80 が他のサービスによって使用されている場合は、そのサービスを停止する必要があります。

この方法で問題を解決できない場合は、httpd.conf の権限を確認し、次のコマンドがあるかどうかを確認する必要があります。 listen [::]:80

syslogでエラーがわかるので (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80

この問題はIPv6によって発生することがあるため、confにコマンドを追加する必要があります。 listen [::]:80 ipv6only=off default_server;

その後、httpdサービスを再起動できます。

関連情報