调用命令apache2ctl来启动,而非apache2.它可以简单地用start、stop、restart等参数,也可以使用和apahce2一样的参数。在/etc/init.d/apache2脚本里,也是调用的apahce2ctl.
总览
在文件/etc/apache2/ports.conf里可以看到这行:
Listen 80
它表示监听服务器所有网卡的80端口。
我们也可以在不同网卡上监听不同端口:
Listen 192.0.2.1:80
Listen 192.0.2.5:8000
IPv6
如果要监听IPv6,需要在地址周围使用方括号:
Listen [2001:db8::a00:20ff:fea7:ccea]:80
为了用最少的socket来同时处理IPv4和IPv6请求,则需要使用IPv4映射的IPv6地址。--enable-v4-mapped配置选 项用于启动这个映射。默认情况下,除了FreeBSD, NetBSD, and OpenBSD,其它平台都默认启用这个选项。
如果只想处理IPv4请求,则在所有的Listen指令上都指定一个IPv4地址:
Listen 0.0.0.0:80
Listen 192.0.2.1:80
协议
Listen有一个可选的protocol参数。在未指定的情况下,https的默认端口为443,而http为其它的端口。
这个protocol用来决定哪个模块来处理请求,以及使用AcceptFilter来应用协议相关的优化。
我们只有在响应非标准的端口上时,才需要指定protocol参数。比如:
Listen 192.170.2.1:8443 https
与虚拟主机的协作
Listen指令并不实现Virtual Host,它仅仅告诉主服务器监听哪些地址以及哪些端口,如果没有使用<VirtualHost>指令,服务器会以相同的方式处理所有接受到 的请求。<VirtualHost>指令可以为一个或多个地址或端口指定不同的行为。要使用VirtualHost,服务器必须先监听使用的 地址和端口,否则<VirtualHost>不能被访问。