>  기사  >  백엔드 개발  >  IIS에 ASP.NET Core 프로젝트를 배포하는 단계

IIS에 ASP.NET Core 프로젝트를 배포하는 단계

PHPz
PHPz원래의
2017-04-12 14:33:181392검색

이 글에서는 ASP.NET Core 프로젝트를 IIS에 배포하는 그래픽 방식을 주로 소개합니다. ASP.NET 시대인 ASP와는 다른

개요

를 참고하세요. .NET Core는 더 이상 IIS 작업자 프로세스(w3wp.exe)에서 호스팅되지 않지만 자체 호스팅 웹 서버(Kestrel)를 사용하여 실행됩니다. IIS는 역방향 프록시 역할을 하며 요청을 다른 포트의 ASP.NET Core 프로그램에 전달합니다. 그런 다음 수신된 요청을 미들웨어 파이프라인으로 푸시합니다. 요청 및 관련 비즈니스 로직을 처리한 후 HTTP 응답 데이터가 IIS에 다시 기록되고 최종적으로 다른 클라이언트(브라우저, APP, 클라이언트 등)로 전송됩니다. ). 구성 파일과 프로세스가 약간 조정됩니다. 중간에서 가장 중요한 역할은 IIS 모듈 중 하나인 AspNetCoreModule입니다. 요청은 IIS에 들어간 후 즉시 전달되고 빠르게 ASP.NET Core로 리디렉션됩니다. 따라서 현재로서는 코드를 호스팅하기 위해 애플리케이션 풀을 설정할 필요가 없으며 요청 전달만 담당합니다.

배포하기 전에 AspNetCoreModule 호스팅 모듈이 IIS에 설치되어 있는지 확인하세요. 그렇지 않은 경우 여기를 클릭하여 다운로드하여 설치하세요.

1, IIS 설치

1. 제어판→프로그램→Windows 기능 활성화 또는 끄기→웹 관리 도구에서 인터넷 정보 서비스 및 IIS 관리 콘솔을 확인하세요

2. 프로젝트 게시

1. 이전 기사에서 빌드한 ASP.NET Core API 프로젝트를 게시한 다음 IIS를 선택하고 새 게시를 만듭니다. 구성

2. 게시 방법에 대한 파일 시스템을 선택하고 게시 경로를 설정합니다

3. 구성 파일은 온라인에 따라 사용자 정의할 수 있으며, .NET Core 기반이므로 대상 프레임워크는 netcoreapp1.1이고 저장하고 게시합니다.

4. 물론 CLI의 Publish 명령을 기반으로 게시할 수도 있습니다. Light.API 루트 디렉터리로 전환하고


dotnet publish --framework netcoreapp1.1 --output "E:\Publish" --configuration Release

명령을 입력하면 됩니다. 프레임워크는 대상 프레임워크를 의미하고 출력은 게시를 의미합니다. 디렉터리 폴더에 구성은 그림과 같이 위의 관리자를 통해 게시한 작업과 동일한 구성 파일을 나타냅니다.

3. IIS에서 웹사이트 추가

1. 웹사이트를 추가하고 이름을 설정한 다음 방금 게시한 폴더의 경로를 지정한 다음 웹사이트를 시작합니다. 🎜>

2. 응용 프로그램 풀의 .NET CLR 버전을 "비관리 코드"로 설정합니다. 왜냐하면 지금 언급한 것처럼 IIS는 역방향 프록시 역할을 하며 이를 수행할 필요가 없기 때문입니다. 코드 관리

3. 이제 끝났습니다. 웹사이트를 탐색해 보세요.

이때 쓸만한 프롬프트 정보가 없어서 어플 실행 로그만 직접 확인할 수 있었던 것 같습니다

4. IIS의 로깅 방법을 파일 및 ETW 이벤트 로그로 설정

5. 웹 사이트를 다시 방문하여 Windows 응용 프로그램 로그를 열면 이런 메시지. 이는 애플리케이션이 PID 3236을 사용하는 프로세스에 의해 시작되었으며 포트 25636에서 수신 대기 중임을 의미합니다.

작업 관리자 열어서 확인해보니 맞더군요. 모든 것이 정상이어야 하는데 웹 사이트에 접속할 때 왜 404가 발생합니까?

오랜 고민 끝에 웹사이트가 자동으로 /swagger/ui 페이지로 리디렉션되지 않는 것으로 나타났습니다: http://192.168. 1.105/swagger/ui, you 익숙한 화면이 보입니다

6. 마지막으로 CLI를 통해 게시한 프로그램을 실제로 실행하고 게시로 전환할 수 있습니다. 폴더에 다음 명령을 입력하세요.

dotnet Light.API.dll

이 메시지가 표시되면 성공한 것입니다. 방문해보세요: http://localhost:5000/swagger/ui

이때 작업관리자를 다시 보면 또 다른 닷넷 프로세스가 있을 겁니다

마지막에 적어주세요

이때 이제 전체 IIS 설정이 완료되었습니다. 얻은 것이 있는지 궁금합니다. 다음으로는 리눅스에 퍼블리싱할 때 어떤 함정이 있을지 모르겠습니다. 무슨 일이 있어도, 당신이 취하는 모든 단계는 되돌아보면 그만한 가치가 있을 것입니다!

위 내용은 IIS에 ASP.NET Core 프로젝트를 배포하는 단계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.