다음을 통해 공유


IIS에서 게시 설정을 가져오고 Visual Studio로 가져오기

게시 도구를 사용하여 게시 설정을 가져온 다음, 앱을 배포할 수 있습니다. 이 문서에서는 IIS에 대한 게시 설정을 사용합니다.

이러한 단계는 ASP.NET 및 ASP.NET Core 웹 애플리케이션에 적용됩니다.

메모

게시 설정 파일(*.publishsettings)은 게시 프로필(*.pubxml)과 다릅니다. 게시 설정 파일은 IIS에서 만든 다음 Visual Studio로 가져올 수 있습니다. Visual Studio에서 게시 프로필을 만듭니다.

필수 구성 요소

  • Visual Studio ASP.NET 및 웹 개발 워크로드와 함께 설치됩니다. Visual Studio를 이미 설치한 경우:

    • 도움말>업데이트 확인선택하여 Visual Studio에서 최신 업데이트를 설치합니다.
    • 도구>도구 및 기능 가져오기를 선택하여 워크로드를 추가합니다.
  • 서버에서 Windows Server 2012 이상을 실행해야 하며, IIS 웹 서버 역할이 올바르게 설치되어 있어야 합니다 (게시 설정 파일(.publishsettings)을 생성하는 데 필요합니다). ASP.NET 4.5 또는 ASP.NET Core도 서버에 설치해야 합니다. 이 자습서의 단계는 Windows Server 2022에서 테스트되었습니다.

    • ASP.NET Core를 설정하려면, IIS를 사용하여 Windows에서 ASP.NET Core 호스트하기를참조하세요. ASP.NET Core의 경우, 문서에 설명된 대로 관리되지 않은 코드를 사용하도록 애플리케이션 풀을 구성해야 합니다.

    • ASP.NET 4.5를 설정하려면 ASP.NET 3.5 및 ASP.NET 4.5사용하여 IIS 8.0을 참조하세요.

    메모

    Windows의 IIS는 게시 설정 생성을 지원하지 않습니다. 그러나 Visual Studio에서 게시 도구를 사용하여 IIS에 계속 게시할 수 있습니다.

Windows Server에 웹 배포 설치 및 구성

웹 배포는 UI에서 게시 설정 파일을 만들 수 있도록 하는 추가 구성 기능을 제공합니다.

메모

웹 플랫폼 설치 관리자는 7/1/22에 수명이 종료되었습니다. 자세한 내용은 웹 플랫폼 설치 관리자 - 제품/애플리케이션 피드지원 종료 및 종료를 참조하세요. 웹 배포 4.0을 직접 설치하여 게시 설정 파일을 만들 수 있습니다.

  1. IIS 관리 스크립트 및 도구아직 설치하지 않은 경우 지금 설치합니다.

    IIS(웹 서버)관리 도구서버 역할 선택으로 이동한 다음 IIS 관리 스크립트 및 도구 역할을 선택하고 다음클릭한 다음 역할을 설치합니다.

    IIS 관리 스크립트 및 도구 설치

    게시 설정 파일을 생성하려면 스크립트와 도구가 필요합니다.

    또한 관리 서비스IIS 관리 콘솔 설치해야 합니다(이미 설치되었을 수 있음).

  2. Windows Server에서 Web Deploy 4.0을 다운로드.

  3. 웹 배포 설치 프로그램을 실행하고, 일반적인 설치 대신 설치 완료를 선택해야 합니다.

    전체 설치를 통해 게시 설정 파일을 생성하는 데 필요한 구성 요소를 가져옵니다. (사용자 지정 대신 선택하는 경우 다음 그림과 같이 구성 요소 목록을 볼 수 있습니다.)

    웹 배포 4.0 구성 요소를 보여주는 스크린샷

  4. (선택 사항) 제어판 > 시스템 및 보안 > 관리 도구 > Services열어 웹 배포가 올바르게 실행되고 있는지 확인한 다음 다음을 확인합니다.

    • 웹 배포 에이전트 서비스 실행 중입니다(서비스 이름은 이전 버전에서 다릅니다).

    • 웹 관리 서비스 실행 중입니다.

    에이전트 서비스 중 하나가 실행되고 있지 않으면 웹 배포 에이전트 서비스다시 시작합니다.

    웹 배포 에이전트 서비스가 전혀 없는 경우 제어판 프로그램 프로그램제거로 이동하여 Microsoft Web Deploy 버전찾습니다. 설치 변경 선택하고 웹 배포 구성 요소에 대한 로컬 하드 드라이브 설치할 선택합니다. 설치 변경 단계를 완료합니다.

Windows Server의 IIS에서 게시 설정 파일 만들기

  1. IIS 관리 콘솔을 닫고 다시 열어 업데이트된 구성 옵션을 UI에 표시합니다.

  2. IIS에서 기본 웹 사이트마우스 오른쪽 단추로 클릭하고 배포>웹 배포 게시구성을 선택합니다.

    웹 배포 구성 구성하기

    배포 메뉴가 표시되지 않으면 이전 섹션을 참조하여 웹 배포가 실행 중인지 확인합니다.

  3. 웹 배포 게시 구성 대화 상자에서 설정을 확인합니다.

  4. 설치클릭합니다.

    결과 패널에서 출력은 지정된 사용자에게 액세스 권한이 부여되고 .publishsettings 파일 확장자가 있는 파일이 대화 상자에 표시된 위치에 생성되었음을 보여 줍니다.

    <?xml version="1.0" encoding="utf-8"?>
    <publishData>
      <publishProfile
        publishUrl="https://myhostname:8172/msdeploy.axd"
        msdeploySite="Default Web Site"
        destinationAppUrl="http://myhostname:80/"
        profileName="Default Settings"
        publishMethod="MSDeploy"
        userName="myhostname\myusername" />
    </publishData>
    

    Windows Server 및 IIS 구성에 따라 XML 파일에 다른 값이 표시됩니다. 표시되는 값에 대한 몇 가지 세부 정보는 다음과 같습니다.

    • publishUrl 특성에서 참조되는 msdeploy.axd 파일은 웹 배포에 대해 동적으로 생성된 HTTP 처리기 파일입니다. (테스트를 위해 http://myhostname:8172 일반적으로도 작동합니다.)

    • publishUrl 포트는 웹 배포의 기본값인 포트 8172로 설정됩니다.

    • destinationAppUrl 포트는 IIS의 기본값인 포트 80으로 설정됩니다.

    • 이후 단계에서 호스트 이름을 사용하여 Visual Studio에서 원격 호스트에 연결할 수 없는 경우 호스트 이름 대신 서버의 IP 주소를 테스트합니다.

      메모

      Azure VM에서 실행되는 IIS에 게시하는 경우 네트워크 보안 그룹에서 웹 배포 및 IIS에 대한 인바운드 포트를 열어야 합니다. 자세한 내용은 가상 머신포트 열기를 참조하세요.

  5. Visual Studio를 실행하는 컴퓨터에 이 파일을 복사합니다.

Visual Studio에서 게시 설정 가져오기 및 배포

  1. Visual Studio에서 ASP.NET 프로젝트가 열려 있는 컴퓨터에서 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 게시을 선택합니다.

    이전에 게시 프로필을 구성한 경우 게시 창이 나타납니다. 클릭 또는 새 프로필만들기 .

  2. 프로필을 가져오는 옵션을 선택합니다.

    게시 대화 상자에서 프로필 가져오기클릭합니다.

    게시 선택

  3. 이전 섹션에서 만든 게시 설정 파일의 위치로 이동합니다.

  4. 가져오기 게시 설정 파일 대화 상자에서 이전 섹션에서 만든 프로필로 이동하여 선택한 다음, 열기를 클릭합니다.

    마침을 클릭하여 게시 프로필을 저장한 다음, 게시를 클릭합니다.

    Visual Studio에서 배포 프로세스를 시작하고 출력 창에 진행률 및 결과가 표시됩니다.

    배포 오류가 발생하면 기타 작업> 편집을 클릭하여 설정을 편집합니다. 설정을 수정하고 유효성 검사를 클릭하여 새 설정을 테스트합니다. 호스트 이름을 찾을 수 없는 경우 Server대상 URL 필드에서 호스트 이름 대신 IP 주소를 시도합니다.

    게시 도구에서 설정 편집

앱이 성공적으로 배포되면 자동으로 시작됩니다.

일반적인 문제

먼저 Visual Studio의 출력 창에서 상태 정보를 확인하고 오류 메시지를 확인합니다. 또한:

  • 호스트 이름을 사용하여 호스트에 연결할 수 없는 경우 대신 IP 주소를 사용해 보세요.
  • 필요한 포트가 원격 서버에서 열려 있는지 확인합니다.
  • ASP.NET Core의 경우 IIS에서 DefaultAppPool 애플리케이션 풀 필드가 관리 코드 없음으로 설정되었는지 확인해야 합니다.
  • 앱에서 사용되는 ASP.NET 버전이 서버에 설치한 버전과 동일한지 확인합니다. 앱의 경우 속성 페이지에서 버전을 보고 설정할 수 있습니다. 앱을 다른 버전으로 설정하려면 해당 버전을 설치해야 합니다.
  • 앱이 열려고 했지만 인증서 경고가 표시되는 경우 사이트를 신뢰하도록 선택합니다. 경고를 이미 닫은 경우 프로젝트에서 *.pubxml 파일을 편집하고 다음 요소를 추가할 수 있습니다. <AllowUntrustedCertificate>true</AllowUntrustedCertificate>. 이 설정은 테스트 전용입니다.
  • 앱이 Visual Studio에서 시작되지 않는 경우 IIS에서 앱을 시작하여 올바르게 배포되었는지 테스트합니다.