IIS 7을 실행하는 멀티 홈 Windows Server 2008에서 TeamCity IP 주소 및 포트 번호 변경


20

"연구"의 이틀 후 (읽기 : 내 키보드에 내 머리를 두드리는) : 팬텀 바인딩을 IIS뿐만 아니라 나는 매우 곤혹 문제에 대한 답변을 마련했습니다으로 인 TeamCity / MSDN / 톰캣 문서에서와 저주 어떻게 Windows Server 2008을 실행하는 멀티 홈 서버와 필요한 목적을 제공하는 IIS 7에서 TeamCity의 IP 주소와 포트 번호를 변경합니까? .

첫째, 약간의 배경. 빌드 서버는 하나의 NIC에서 두 개의 IP 주소 (192.168.1.30 및 192.168.1.31)를 가진 Windows Server 2008을 실행하고 있습니다. 포트 80에서 하나의 사이트를 192.168.1.30에 명시 적으로 바인딩하도록 IIS를 구성했습니다.이 시점에서 192.168.1.31이 개방적이고 TeamCity에 사용될 준비가되어 있다고 생각합니다.

첫 번째 성가심 : TeamCity를 설치할 때이 서버와 연관된 여러 IP 주소가 바인딩되어야하는 포트만 요구한다는 사실을 완전히 무시합니다. 서버급 소프트웨어의 경우 이것은 놀랍습니다.

두 번째 성가심 : TeamCity의 기본값은 포트 8080 (wha ??)입니다. 첫 번째 성가심으로 인해 포트 선택이 다소 모호합니다. 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 웹 인터페이스의 포트 및 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" />

그렇게 쉬운가요? Windows 서비스 관리자를 통해 TeamCity의 웹 서버를 다시 시작하면 192.168.1.31에 아무것도 나타나지 않습니다. 어.

IIS의 유일한 사이트는 포트 80에서 192.168.1.30에 명시 적으로 바인딩되었지만 IIS는 여전히 모든 IP 주소를 수신 합니다. 물론 이것은 온라인으로 오기 전에 중단되는 TeamCity의 웹 서버 (Tomcat)를 차단합니다. 명령 줄에서 Tomcat을 수동으로 시작하여 stdout 오류와 더 많은 연구를 해본 후에 StackOverflow의 작은 보석에 대해 이야기 합니다. IIS7이 사용하는 IP 주소를 어떻게 제어 할 수 있습니까?

따라서 관리 명령 줄에서 실행합니다 ( 참고 : 다시 IP 주소를 변경하십시오! 이번에 IIS를 바인딩 하려는 IP 주소로 변경하십시오 )

netsh http add iplisten ipaddress = 192.168.1.30

이제 TeamCity의 웹 서버와 짜잔을 다시 시작합니다. 포트 번호를 지정하지 않고도 192.168.1.31 탐색 할 있으며 TeamCity의 웹 인터페이스가 나타납니다. 빠른 상태 점검은 IIS가 여전히 192.168.1.30에 올바르게 바인딩되어 있음을 보여줍니다. 모든 것이 잘됩니다.

그런 간단한 수정을 위해 긴 게시물에 대해 죄송합니다. 나는 이것이 다른 사람에게 도움이되기를 바랍니다.


편집 : TeamCity를 잠시 사용한 후 TeamCity와 함께 설치된 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를 모두 다시 시작하십시오.


1
정말로 이것은 굉장하다. 이것이 바로 나와 나와 관리자 중 한 명이 결국 스스로 알아 낸 것입니다. 훌륭한 글을 게시 해 주셔서 감사합니다.
Ryan Montgomery

5
그래도 질문과 답을 나누고 싶을 수도 있습니다.
Ryan Montgomery

답변:


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.