13

我们如何在同一台机器 Windows 7 上运行两个 Apache Http Server 实例

我想在window7机器上配置2个apache http服务器和3个tomcat服务器。

目前我已经完成了 1 个 http 服务器和 2 个或更多 tomcat 服务器的配置,但无法在同一台 Windows 机器上配置 2 个 http 服务器。每当我第二次启动 http 服务器(第二个实例)时,都会这样说:

httpd: Could not reliably determine the server's fully qualified domain name, 
using 172.17.124.181 for ServerName (OS 10048)Only one usage of each socket
address (protocol/network address/port) is normally permitted.:
make_sock: could not bind to address 0.0.0.0:80 no listening sockets available,
shutting down Unable to open logs

请让我知道如何在同一台 Windows 机器上运行两个 HTTP 服务器实例。帮助表示赞赏。提前致谢。

4

3 回答 3

26

将当前的 Apache 文件复制到另一个文件夹并修改 httpd.conf 文件。改变两点:

  • ServerRoot:给出复制 apache 文件的新文件夹的路径。

  • 监听:给一个80以外的新端口号。如果给一个大于1024的端口号会更好。

确保您没有为 httpd.exe 设置环境路径。如果你刚刚删除它。

现在在命令提示符下导航到新服务器的 bin 文件夹。然后键入以下命令。

httpd.exe -k install -n "New Apache" -f "C:/path/to/httpd.conf"

(新服务器的)。

成功执行此命令后,您将在 services.msc 中找到一个名为“New Apache”的新服务。启动该服务并在浏览器中尝试使用您在新服务器的 httpd.conf 文件中提供的新端口号运行服务器。

大多数情况下应该可以。但万一它不执行以下命令

httpd.exe -k config -n "New Apache" -f "C:\path\to\httpd.conf

希望有帮助!

于 2015-08-11T11:34:31.887 回答
6

您必须在端口 80 以外的端口上运行第二个 Apache 实例。在 httpd.conf 文件中为第二个 Apache 实例找到 Listen 指令并更改端口。

于 2013-06-06T11:42:51.420 回答
2

“监听指令”告诉服务器接受指定端口上的传入请求,并且服务器也可以监听地址和端口组合。

如果您在 Listen 指令中指定端口号,则服务器会在所有接口上侦听该端口。如果您指定 IP 地址和端口,服务器将侦听该端口和接口。

例如,如果您要让服务器接受所有接口上的端口80和端口8000上的连接,您可以尝试以下操作:

Listen 80
Listen 8000

...但是如果您想让服务器接受80一个接口(例如198.0.1.1)端口8000上的连接,以及另一个(例如198.0.2.2)端口上的连接,您可以编写如下内容:

Listen 198.0.1.1:80
Listen 198.0.2.2:8000
于 2014-09-17T01:03:48.287 回答