AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 58085
Accepted
Brad B.
Brad B.
Asked: 2009-08-25 10:36:58 +0800 CST2009-08-25 10:36:58 +0800 CST 2009-08-25 10:36:58 +0800 CST

在运行 IIS 7 的多宿主 Windows Server 2008 上更改 TeamCity IP 地址和端口号

  • 772

经过整整两天的“研究”(阅读:把我的头撞在我的键盘上)并诅咒 TeamCity/MSDN/Tomcat 文档以及幻象 IIS 绑定,我想出了一个非常令人困惑的问题的答案:如何我在运行 Windows Server 2008 以及用于必要目的的 IIS 7 的多宿主服务器上更改了 TeamCity 的 IP 地址和端口号?.

首先,一点背景。我们的构建服务器在一个 NIC 上运行具有两个 IP 地址(192.168.1.30 和 192.168.1.31)的 Windows Server 2008。我已将 IIS 配置为将其唯一的站点显式绑定到端口 80 上的 192.168.1.30。此时我认为 192.168.1.31 已完全开放并准备好用于 TeamCity ......不完全是。

第一个烦恼:安装 TeamCity 时,它完全忽略了与该服务器关联的多个 IP 地址这一事实,只询问它应该绑定到哪个端口。对于服务器级软件,这是相当令人惊讶的。

第二个烦恼:TeamCity 默认使用端口 8080(什么??)。由于第一个烦恼,端口选择有点模棱两可:TeamCity 是否会绑定到两个 IP 地址上的端口 8080?将端口选择更改为 80 会产生一个警告,表明另一个服务已经绑定到端口 80。嗯,IIS 应该只绑定到 192.168.1.30 上的端口 80;192.168.1.31 上不应有任何约束。显然,TeamCity 在 192.168.1.30 上与 IIS 竞争。

完成 TeamCity 的安装,选择端口 80 并忽略绑定警告后,我打开“C:\TeamCity\server.xml”。旁注:“C:\TeamCity\”是 TeamCity 的默认安装目录,而“C:\Users\.BuildServer”是默认数据目录。无论如何,“server.xml”是配置文件,您可以在其中设置 TeamCity Web 界面的端口和 IP 地址等内容。经过一番研究,我想出了在端口 80 上绑定 IP 地址 192.168.1.31 的配置:

寻找任何一个

<Connector
    port="8080"
    protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" />

或者

<Connector
    port="80"
    protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" />

取决于您在安装过程中选择的端口。更改为(注意:更改IP地址!)

<Connector
    port="80"
    protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443"
    address="192.168.1.31" />

应该就这么简单吧……对吧?好吧,重新启动 TeamCity 的 Web 服务器(通过 Windows 的服务管理器)在 192.168.1.31 上没有任何结果。啊。

事实证明,即使 IIS 的唯一一个站点已明确绑定到端口 80 上的 192.168.1.30,IIS 仍然侦听所有IP 地址。当然,这会导致 TeamCity 的 Web 服务器 (Tomcat) 在上线之前就停止运行。在从命令行手动启动 Tomcat 以剖析其标准输出错误并进行更多研究后,我偶然发现了 StackOverflow 的这个小宝石:如何控制 IIS7 使用的 IP 地址?

因此,从我运行的管理命令行(注意:再次更改 IP 地址!这次是您希望绑定 IIS的 IP 地址)

netsh http add iplisten ipaddress=192.168.1.30

现在我重新启动 TeamCity 的 Web 服务器,瞧,它可以工作了!!我可以浏览到 192.168.1.31而无需指定端口号,TeamCity 的 Web 界面就会出现。快速健全性检查显示 IIS 仍正确绑定到 192.168.1.30。一切都很好。

对于这么简单的修复,很抱歉这么长的帖子。我希望这对其他人有所帮助,因为它肯定会为我节省数小时的恶化时间。


编辑:使用 TeamCity 一段时间后,我注意到与 TeamCity 一起安装的 Build Agent 没有被正确识别。为了解决这个问题,我必须将 Build Agent 指向 TeamCity 的新 URL。此配置更改在“C:\TeamCity\buildAgent\conf\buildAgent.properties”中完成。同样,这是默认安装 TeamCity 的路径,可能会有所不同,具体取决于您自定义 TeamCity 安装的方式。

在“buildAgent.properties”中确保“serverUrl”指向新的 TeamCity URL。就我而言,我将其更新为:

serverUrl=http\://192.168.1.31

进行此更改后,重新启动 TeamCity Web Server 和 TeamCity Build Agent。

windows-server-2008 ip iis-7 multi-homed teamcity
  • 1 1 个回答
  • 8151 Views

1 个回答

  • Voted
  1. Best Answer
    Brad B.
    2009-08-25T10:38:07+08:002009-08-25T10:38:07+08:00

    答案是上面原始“问题”的一部分。

    • 10

相关问题

  • 什么可能导致 IIS7 拒绝绑定到不允许导出私钥的证书?

  • 从 2003 年迁移到 2008 年 Microsoft 群集技术

  • 有什么理由使用 Windows Server 2003 而不是 Server 2008?

  • 是否可以在单个 W2008 服务器上安装 Exchange Server?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve