[asp.net] Linux 기반 서버에서 ASP.Net 실행

Java 배경 지식이있는 개발자의 경우 ASP.NET 도구 / 플랫폼을 사용하여 소프트웨어 개발을 탐색하는 데 관심이 있습니다.

Java 웹 애플리케이션 (.jsp 및 서블릿)은 여러 서버 플랫폼에서 실행할 수 있습니다.

질문 : .NET 웹 애플리케이션이 Linux 기반 서버에서 실행될 수 있습니까? 웹앱 호스팅에 Windows 서버를 사용할 수없는 시나리오를 고려합니다.



답변

사용중인 특정 .NET 기술에 따라 다릅니다. 모노 프로젝트 ASP.NET 사이트를 실행하기위한 아파치 모듈 (mod_mono)를 제공하고, 내가 수집 무엇에서 잘 작동합니다.

Mono는 모든 .NET API를 지원하지는 않습니다. 특히 WPF (그리고 아마도 WCF도 기억할 수 없습니다.)는 프레임 워크의 다른 많은 부분을 잘 지원합니다.

처음부터 시작하고 특히 Windows가 아닌 서버를 대상으로하려는 경우 프로젝트가 Mono에서 작동하는지 확인하는 것이 목표로하는 좋은 목표가 될 것입니다. 그러나 Mono에서 지원하지 않는 특정 API 또는 언어 기능이 필요한 경우 배포를 위해 Windows 서버를 사용해야합니다. 디자인 타임 / 아키텍처 선택은 우선해야합니다.


답변

그래서 나는 이것이 오래된 질문이라는 것을 알고 있지만 업데이트 된 답변을 견딜 수 있다고 생각합니다.

마이크로 소프트는 공식적으로 asp.net vnext 와 오픈 소스를 출시 했으며 Linux와 Mac 모두에 배포 할 수 있습니다. 그것의 전부는 여전히 꽤 새롭지 만 모노의 최신 빌드에 의존하므로 현재는 컴파일이 필요 mono-framework하지만 시간이 지나면 다양한 리눅스 배포판이 모노의 업데이트 버전을 출시함에 따라 액세스하기가 더 쉬울 것이라고 생각합니다. 설정 방법 안내입니다.

이 정보는 다소 변동이있을 수 있으며 업데이트시 변경 될 수 있습니다.

ASP.NET CORE 업데이트 11/10/2017


답변

Windows 개발자가 코드를 Mono / Linux로 이식하는 데 도움이되는이 가이드를 고려할 수 있습니다.

가이드 : ASP.NET 응용 프로그램 포팅-Mono


답변

나는 경험으로 말할 수있다. ASP.net 웹 사이트가 Mono에서 지원하는 .NET 라이브러리 만 사용하더라도 Hello World를 넘어선 경우 실행하는 데 어려움을 겪을 것입니다.

많은 코드를 다시 작성할 필요는 없지만 mod_mono / xsp / apache 구성, 파일 권한 및 오류 처리 및 대규모 웹 사이트에 들어가는 모든 사소한 문제를 처리하는 데 몇 시간 / 일 / 주를 소비하게됩니다. (serverfault에 대해 질문하는 데 많은 시간을 할애 할 준비를하십시오. :))

문제는 많은 사람들이 ASP.net 웹 사이트에 Mono를 사용하지 않기 때문에 버그를보고하는 사람이 많지 않아 사소한 버그 인 많은 것들이 오랫동안 수정되지 않은 상태가된다는 것입니다.


답변

이제 Visual Studio를 사용하여 Linux의 Docker에 ASP.NET 5 앱을 게시 할 수 있습니다. Scott Haselman의 아래 게시물을 참조하십시오.

http://www.hanselman.com/blog/PublishingAnASPNET5AppToDockerOnLinuxWithVisualStudio.aspx


답변

기술이 발전하고이 질문이 Google에서 최상위 순위에 있기 때문에 Linux 및 Windows에서 프로덕션 및 Linux 용 개발을 위해 실행하기 위해 asp.net을 완전히 재 작성한 새로운 asp.net 코어를 모노를 넘어 포함해야합니다. , Windows 및 Mac :

Windows, Mac 및 Linux에서 플랫폼 간 ASP.NET Core 앱을 개발하고 실행할 수 있습니다. ASP.NET Core는 GitHub의 오픈 소스입니다.


답변

응 우리는 할 수있어. Mono Project에 익숙해 지고이 기사 를 읽고 시작하십시오.