由于某种原因,在我的 Windows XP 工作站上将 SSH Tectia 客户端从 v6.0 升级到 6.1 后,VisualSVN 2.0.7 在重新启动后无法启动其 Apache 服务。
Event Type: Information
Event Source: VisualSVN Server 2.0
Event Category: Apache
Event ID: 1000
Date: 9/30/2009
Time: 3:37:48 PM
User: N/A
Computer: 4-J25A
Description:
Disabled use of AcceptEx() WinSock2 API
Event Type: Error
Event Source: VisualSVN Server 2.0
Event Category: Apache
Event ID: 1002
Date: 9/30/2009
Time: 3:37:48 PM
User: N/A
Computer: 4-J25A
Description:
alloc_listener: failed to get a socket for (null)
(OS 10106) The requested service provider could not be loaded or initialized.
Event Type: Error
Event Source: VisualSVN Server 2.0
Event Category: Apache
Event ID: 1000
Date: 9/30/2009
Time: 3:37:48 PM
User: N/A
Computer: 4-J25A
Description:
Syntax error on line 25 of C:/Program Files/VisualSVN Server/conf/httpd.conf:
Event Type: Error
Event Source: VisualSVN Server 2.0
Event Category: Apache
Event ID: 1000
Date: 9/30/2009
Time: 3:37:48 PM
User: N/A
Computer: 4-J25A
Description:
Listen setup failed
如果我直接启动 VisualSVNServer.exe apache 进程,它可以工作并接受请求,但 VisualSVN 管理控制台仍然认为服务已停止。我对 Apache 的 Windows 版本不够熟悉,无法理解是什么阻止了它保护其声明的 8443 端口(或者可以是任何其他端口号)?
我尝试修复并重新安装 VIsualSVN 服务器无济于事。只有在我卸载 SSH Tectia Client 之后,VisualSVN Server 的 apache 才能再次正常启动。之后安装 SSH Tectia Client 似乎不再产生问题。希望它保持这种状态。
我解决了 VisualSVN 服务器安装的问题。我看到了很多错误,包括上面的错误。我已经运行 VisualSVN Server 很长一段时间了,但是在最近的 Windows 更新并重新启动后,我的服务器没有恢复。支持人员最终将它重新上线,但 SVN 服务器没有运行,我无法启动它,所以我想我会升级它并让安装解决任何问题。我在想硬盘驱动器可能已经损坏,可以通过这种方式修复。
我最终了解到的是,我在服务器上拥有的第二个 IP 地址不再配置。之前我将 SVN/Apache 服务器配置为使用不再存在的特定 IP 地址。
该注册表项专门用于指定丢失的 IP 地址并可能导致我所有的麻烦。一旦我将 IP 地址添加为附加 IP 地址,我就能够成功运行安装并从我的 SVN 客户端访问服务器。
此注册表项具有用于启动 Apache 的 ServerBinding 和 ServerName 的值。不幸的是,VisualSVN 服务器安装过程不允许我查看或更改 IP 地址或服务器名称。这会省去很多麻烦,并且会揭示我麻烦的真正原因。
至于在具有 2 个 IP 地址的同一台服务器上管理 IIS 和 Apache,您需要告诉 IIS 不要使用第二个 IP 地址。以下命令可以做到这一点。
显然,这是一个虚假的 IP 地址。将其替换为您的第二个 IP 地址。下一个命令将显示允许 IIS 使用的 IP 地址。
您可能需要重新启动 IIS 或重新启动计算机才能成功应用这些更改。Windows 会在引导周期的早期分配对列出的 IP 地址的控制权,因此您要确保它们未被使用,以便 Apache 可以使用它们。
如果您确实遇到问题,请再次检查是否为服务器配置了第二个 IP 地址。我所有的麻烦都只是由于缺少 IP 配置。