이 문서에서는 IIS와 같은 로컬 웹 서버, Azure App Service와 같은 원격 클라우드 환경을 비롯한 다양한 위치에 첫 번째 ASP.NET 웹앱을 게시하는 방법을 알아봅니다.
이 문서에서는 ASP.NET 및 ASP.NET Core를 지원합니다.
참고 항목
이 문서에서는 수동 배포를 다루고 있고 이는 무언가를 빠르게 시작하고 실행하는 데 적합하지만, 대규모 프로젝트 및 프로덕션 시나리오에서는 배포 파이프라인을 설정하는 것이 좋습니다. GitHub 작업 또는 Azure DevOps 파이프라인을 사용하여 이러한 시나리오에 대한 연속 통합을 사용하여 자동 배포를 설정할 수 있습니다.
필수 조건
Visual Studio가 ASP.NET 및 웹 개발 워크로드와 함께 설치되어 있어야 합니다.
Visual Studio를 이미 설치한 경우:
도움말>업데이트 확인을 차례로 선택하여 Visual Studio에서 최신 업데이트를 설치합니다.
웹앱을 호환되는 모든 Docker 컨테이너 레지스트리에 Docker 컨테이너로 게시할 수 있습니다.
다음을 클릭하고 Azure Container Registry 또는 Docker Hub와 같은 사용 가능한 옵션을 선택합니다.
Azure Container Registry
그런 다음, Azure Container Registry에 대해 기존 인스턴스를 선택하거나 새 인스턴스를 만듭니다.
Docker Hub
다음으로, Docker Hub에 대해 게시 자격 증명을 제공합니다.
기타 Docker 컨테이너 레지스트리
다음으로, 다른 Docker 컨테이너 레지스트리에 대해 URI 및 게시 자격 증명을 제공합니다.
게시 마법사를 종료합니다.
그러면 게시 마법사를 사용하여 방금 만든 새 게시 프로필의 요약 페이지가 표시됩니다. 게시를 클릭하면 Visual Studio가 지정된 Docker 컨테이너 레지스트리에 웹앱을 배포합니다.
참고 항목
위 스크린샷은 Azure Docker 레지스트리를 대상으로 하는 게시 프로필을 보여 주지만 세 개의 모든 Docker 컨테이너 레지스트리 옵션에 동일한 게시 단추를 사용할 수 있습니다.
폴더에 웹앱 게시
로컬 및 네트워크 폴더에 모두 웹앱을 게시할 수 있습니다.
먼저 경로를 입력하고 마침을 클릭하여 게시 마법사를 완료합니다.
그러면 게시 마법사를 사용하여 방금 만든 새 게시 프로필의 요약 페이지가 표시됩니다. 게시를 클릭하면 Visual Studio가 제공된 경로에 웹앱을 배포합니다.
요약 페이지를 닫은 후 이 요약 페이지로 돌아올 수 있습니다. 다음 번에 마우스 오른쪽 단추를 클릭하고 게시를 선택하면 Visual Studio가 이 요약 페이지를 엽니다. (게시 마법사로 돌아가려면 요약 페이지에서 새로 만들기를 클릭하면 됩니다.)
FTP/FTPS 서버에 웹앱 게시
FTP 또는 FTPS를 사용하여 웹앱을 게시할 수 있습니다.
필요한 연결 세부 정보를 입력하고 마침을 선택합니다.
그러면 게시 마법사를 사용하여 방금 만든 새 게시 프로필의 요약 페이지가 표시됩니다. 게시를 클릭하면 Visual Studio가 제공된 FTP 또는 FTPS 서버에 웹앱을 배포합니다.
요약 페이지를 닫은 후 이 요약 페이지로 돌아올 수 있습니다. 다음 번에 마우스 오른쪽 단추를 클릭하고 게시를 선택하면 Visual Studio가 이 요약 페이지를 엽니다. (게시 마법사로 돌아가려면 요약 페이지에서 새로 만들기를 클릭하면 됩니다.)
웹 서버(IIS)에 웹앱 게시
IIS가 구성된 경우 IIS에 웹앱을 게시할 수 있습니다. 기본적으로 IIS Express가 설치되지만 Visual Studio에서 IIS에 배포하는 경우 IIS 관리 도구를 설치해야 합니다. IIS Express에 배포하기 위해 관리자 권한으로 Visual Studio를 실행할 필요가 없으며 전체 IIS에만 배포할 수 있습니다.
웹 서버 구성
원격 웹 서버에서 웹 관리 서비스를 설치합니다. 이 지침에 따라 원격 연결을 사용하도록 설정하고, 서비스가 시작되었는지 확인하고, 웹 서버를 원격으로 관리하도록 자격 증명을 설정하고, 배포를 시도하기 전에 확인합니다. 로컬 IIS 배포에는 웹 관리 서비스가 필요하지 않습니다.
웹 서버에서 IIS 6 메타베이스 호환성을 설치합니다. Windows 설정의 프로그램 및 기능에서 Windows 기능 켜기 또는 끄기를 선택합니다. 그런 다음 인터넷 정보 서비스>웹 관리 도구에서 IIS 6 관리 호환성을 설치합니다. IIS 메타베이스 및 IIS 6 구성 호환성이 선택되어 있는지 확인합니다.
웹 서버는 보안 모범 사례를 염두에 두고 구성해야 합니다. 권장되는 보안 사례는 IIS 설명서를 참조하세요. IIS 8의 경우 IIS 8에 대한 보안 모범 사례를 참조 하세요.
IIS 웹 서버에 게시
게시를 선택한 다음, 웹 서버(IIS)를 선택합니다.
원하는 배포 모드를 선택합니다. 웹 배포를 선택하여 지정된 서버에 애플리케이션을 즉시 배포합니다. 웹 배포 패키지를 선택하여 사용자 또는 다른 사용자가 나중에 사용할 수 있도록 배포 아티팩트가 포함된 패키지된 zip 파일을 만듭니다.
웹 배포
필요한 연결 세부 정보를 입력하고 마침을 선택합니다. 다음 스크린샷은 포트 5187에 포트 바인딩이 있는 로컬 개발 머신에 설치된 기본 IIS 웹 사이트(기본 웹 사이트)에 게시된 웹 애플리케이션을 보여 줍니다. 대상 URL은 선택 사항입니다. 제공되지 않으면 웹 사이트가 게시 시 자동으로 시작되지 않으며 게시된 사이트에 액세스할 수 있는 링크가 게시 화면에 표시되지 않습니다.
처음 게시할 때 사용자 이름과 암호를 만듭니다. 이러한 자격 증명은 WebDeploy 배포와 관련이 있습니다. 만든 후에는 Visual Studio에서 변경할 수 없지만 IIS에서 다시 설정할 수 있습니다. 사이트 - 자격 증명 설정 대화 상자를 참조하세요. 암호가 없는 경우 .publishsettings 파일을 다운로드하고 여기에서 읽을 수 있습니다. IIS에서 게시 설정 가져오기를 참조하세요.
Warning
사용자 이름 및 암호 자격 증명(기본 인증)을 사용하는 것은 가장 안전한 인증 방법이 아닙니다. 가능하면 대체 메서드를 사용합니다. 예를 들어 Visual Studio에서 패키지에 게시한 다음 명령줄의 WebDeploy.exe 사용하여 패키지를 배포하는 것이 좋습니다. 이 방법을 사용하면 IIS 관리자를 사용하여 웹 서버에 게시할 수 있는 권한 있는 Windows 사용자를 구성하고 해당 Windows 사용자 계정으로 WebDeploy.exe 실행할 수 있습니다. IIS 8.0 이상에서 웹 배포 설치 및 구성을 참조 하세요. 암호 자격 증명을 사용하는 경우 강력한 암호를 사용하고 암호가 유출되거나 공유되지 않도록 보호해야 합니다.