본문 바로가기

ASP.NET Core

ASP.NET Core를 IIS에서 돌려보자! (Deploy,Publish)

Microsoft Visual Studio Community 2017의 IIS Express로 로컬에서 작동확인하거나

Azure의 계정의 무료범위를 이용해서 배포(Deploy,Publish)후 작동확인을 했었습니다.

Azure가 간단하고 신경쓸일 없어서 좋은데, 역시 비용문제로 운용중인 서버에서 작동을 시켜야합니다.

많이 번거로울것 같아서 걱정을 했었는데, 의외로 간단히 처리가능했습니다.

또 찾아볼것 같아 정리를 합니다.

 

서버환경

Windows Server 2008 R2 Standard

( 다행히 ASP.NET Core가 지원하는 Windows Server의 최소사양입니다. )

Internet Information Services(IIS) Version 7.5.7600.16385

 

설치

1. .NET Core SDK

최신버전으로 설치합니다. (dotnet-sdk-2.2.204-win-gs-x64.exe)

https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install

 

2. ASP.NET Core Module

.NET Core 버전을 선택합니다.

https://dotnet.microsoft.com/download/dotnet-core

그후 표시되는 페이지의 Run apps - Runtime부분에서 Runtime & Hosting Bundle 을 설치합니다.

(dotnet-hosting-2.2.5-win.exe)

https://dotnet.microsoft.com/download/dotnet-core/2.2

( ASP.NET Core는 Kestrel이라는 웹서버를 내포하고 있어서 자체호스팅가능하지만 보안, 관리면을 고려 IIS와 연계를 합니다.

그래서 IIS와의 연계를 위해 ASP.NET Core Module을 설치해줘야합니다.)

 

설정

1. IIS를 재시작 (iisreset)

2. IIS의 (서버 혹은 사이트선택후 ) 구성편집기에서 system.webServer>>aspNetCore가 있는지 확인

3. 응용 프로그램 풀 작성 ( .Net CLR 버전 : 관리 코드 없음 )

4. 사이트 작성 (응용 프로그램 풀을 3번의 것으로 설정)

 

 

작동확인

1. Microsoft Visual Studio Community 2017의 배포(Deploy, Publish) 작성

Publish method : File System

Configuration : Release

Target Framework : netcoreapp2.1

Deployment Mode : Framework-Dependent

Target Runtime: Portable

 

2. 설정에서 작성한 IIS의 사이트경로로 배포로 작성된 파일 업로드

 

3. 실행

 

 

에러대응

HTTP Error 502.5 - Process Failure 에러가 발생했습니다.

web.config파일을 수정해서 대응이 가능했습니다.

 

<aspNetCore processPath="dotnet"

<aspNetCore processPath="C:\Program Files\dotnet\dotnet.exe"

로 변경 ( dotnet.exe의 경로 )

 

 

이제 만들기(개발)만 하면 되겠습니다...

반응형