Configuration
為什麼 Apache 執行在 8080 埠而不是 80 埠?
我很困惑為什麼 Apache 在埠 80 上沒有響應……
$ wget http://localhost:80 --2014-05-06 15:32:44-- http://localhost/ Resolving localhost (localhost)... 127.0.0.1 Connecting to localhost (localhost)|127.0.0.1|:80... failed: Connection refused.
…而是在 8080 後 …
$ wget http://localhost:8080 --2014-05-06 15:32:38-- http://localhost:8080/ Resolving localhost (localhost)... 127.0.0.1 Connecting to localhost (localhost)|127.0.0.1|:8080... connected. HTTP request sent, awaiting response... 200 OK Length: 177 [text/html] Saving to: ‘index.html’ 100%[=================================================>] 177 --.-K/s in 0s 2014-05-06 15:32:38 (16,4 MB/s) - ‘index.html’ saved [177/177]
在apache2ctl的輸出中看不到太多:
$ apache2ctl -t -D DUMP_VHOSTS VirtualHost configuration: *:80 is a NameVirtualHost default server localhost (/etc/apache2/sites-enabled/000-default.conf:1) port 80 namevhost localhost (/etc/apache2/sites-enabled/000-default.conf:1) port 80 namevhost localhost (/etc/apache2/sites-enabled/000-default.conf:1)
但是,netstat確認了埠:
$ sudo netstat -anp | grep :8080 tcp6 0 0 :::8080 :::* LISTEN 5353/apache2
正如喬爾所問,這裡是
ports.conf
:$ sudo cat /etc/apache2/ports.conf # If you just change the port or add more ports here, you will likely also # have to change the VirtualHost statement in # /etc/apache2/sites-enabled/000-default Listen 8080 <IfModule ssl_module> Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet # NameVirtualHost *:8800 Listen 8800
Listen
配置文件中的指令的值是什麼/etc/apache2/ports.conf
?你的說 8080 和 8800,而不是 80,這就是你得到這些結果的原因。
為什麼 Apache 執行在 8080 埠而不是 80 埠?
通常將 apache 配置為偵聽該埠的常見原因是程序需要在 root 帳戶下執行或被授予特定權限才能偵聽低於
1024
並且當然包括 port 的 TCP 埠80
。使用更高的非特權埠號允許在沒有任何特定配置的正常帳戶下執行 apache。
8080
是一個容易記住的替代品80
。