我正在尝试使用一个非常接近标准的配置文件启动 Apache 2.2 服务器实例。我做了一个小改动,因为我希望 Apache 提供一个与它所做的其他事情分开的 XML 文件,纯粹是为了在我的本地机器上进行测试。这个改动是我将其插入到httpd.conf
:
# Based on http://httpd.apache.org/docs/2.2/vhosts/examples.html
Listen 10.11.12.13:85
NameVirtualHost 10.11.12.13:85
<VirtualHost 10.11.12.13:85>
DocumentRoot "C:\foo\bar"
ServerName www.MyCompanyMyProjectFooBarTestURL.com
</VirtualHost>
尝试启动 Apache 导致出现以下情况:
(OS 10049)请求的地址在其上下文中无效。:make_sock:无法绑定到地址 10.11.12.13:85
没有可用的监听套接字,正在关闭
无法打开日志
没有运行任何 Apache 实例。没有任何东西在使用端口 85(或 80 或 8080)。没有什么特别的10.11.12.13:85
;我只是认为这是一个不会干扰任何事情的 IP。
这个错误是什么意思?我该如何解决?
答案1
您指向的 IP 地址可能是通用的,这是有原因的。例如:-10.1.1.233:443 并且您会收到错误 >>> (OS 10049)请求的地址在其上下文中无效。:make_sock:无法绑定到地址 10.1.1.233:443
注释 httpd-ssl.conf 中的行并启动 Apache
答案2
确保在处于 UP 状态的网络接口上配置了 IP。
要在 Windows 7 上将 IP 添加到网络接口,您可以按照以下操作指南进行操作http://www.pctips3000.com/how-to-assign-more-than-one-ip-address-to-one-lan-in-windows-7/
如果您有 DHCP,那么您可能需要执行一些注册表技巧,例如:http://www.petri.co.il/configure_tcp_ip_to_use_dhcp_and_a_static_ip_address_at_the_same_time.htm或者仅使用静态IP分配。
答案3
在命令,输入:ipconfig
,然后查看您的本地 IP 地址。然后将此地址设置为未知10.11.12.13:85
答案4
为了找到要绑定的套接字,您可以指向本地计算机地址。当您关闭和打开计算机时,该地址似乎会发生变化。要查找正在使用的本地地址,请进入控制面板、网络和共享中心,单击无线连接,然后单击“详细信息”按钮,IPv4 地址应该是本地计算机地址。您可以将此地址和一个好的套接字(如 8088)添加到 httpd.conf 作为“侦听”参数 - 例如侦听 127.0.0.1:8088(这是默认的本地主机,但您的 IP 会有所不同) - 您可以列出多个这些地址,它将绑定到一个空闲的地址。这在 Windows 中有效。然后将相同的 IP 地址添加到 hosts 文件。