Для разработчика с опытом работы на Java я также заинтересован в изучении разработки программного обеспечения с использованием инструментов / платформы ASP.NET.
Веб-приложения Java (.jsp и сервлеты) могут работать на многих серверных платформах.
Вопрос : сможет ли веб-приложение .NET работать на сервере под управлением Linux? Рассмотрение сценария невозможности использования сервера Windows для размещения веб-приложения.
Я знаю, что это старый вопрос, но думаю, что на него можно дать обновленный ответ.
Microsoft официально выпустила asp.net vnext и его открытый исходный код, который можно развернуть как на Linux, так и на Mac. Это все еще довольно новое, но оно основано на последних сборках mono и, следовательно, в настоящее время вам нужно скомпилировать,
mono-framework
но со временем я подозреваю, что к нему будет легче получить доступ, поскольку различные дистрибутивы Linux выпускают обновленные версии mono. Это руководство по настройкеЭта информация может быть несколько непостоянной и в связи с обновлениями будет меняться.
Обновление ASP.NET CORE 11.10.2017
источник
Возможно, вы захотите рассмотреть это руководство, которое помогает разработчикам Windows переносить свой код на Mono / Linux:
Руководство: перенос приложений ASP.NET - Mono
источник
Я могу говорить по опыту. Даже если ваш веб-сайт ASP.net использует только библиотеки .NET, поддерживаемые Mono, вам будет трудно заставить его работать, если это что-то, кроме Hello World.
Вам не придется переписывать много кода, но вы потратите часы / дни / недели на решение небольших проблем с конфигурацией mod_mono / xsp / apache, правами доступа к файлам, обработкой ошибок и всеми мелочами, которые возникают на большом веб-сайте. (Будьте готовы потратить много времени, задавая вопросы о сбое сервера :))
Проблема в том, что многие люди не используют Mono для веб-сайтов ASP.net, и поэтому не так много людей сообщают об ошибках, поэтому многие мелкие ошибки остаются не исправленными в течение длительного времени.
источник
Теперь вы можете опубликовать приложение ASP.NET 5 в Docker в Linux с помощью Visual Studio. См. Сообщение ниже от Скотта Хазелмана.
http://www.hanselman.com/blog/PublishingAnASPNET5AppToDockerOnLinuxWithVisualStudio.aspx
источник
Поскольку технологии развиваются, и этот вопрос занимает первое место в Google, нам необходимо включить помимо моно новое ядро asp.net, которое является полной переписью asp.net для работы в Linux и Windows и для разработки для Linux. , Windows и Mac :
источник
Да мы можем. познакомьтесь с Mono Project и прочтите эту статью, чтобы начать работу.
источник
Mono
в Linux среде?Для ASP.NET в Linux проверьте Mono .
При этом тысячи сайтов работают на Windows Server без каких-либо проблем. Плохо настроенный сервер с любой ОС будет уязвим; Linux не спасет вас от плохого администратора.
Поэтому я полагаю, что моей «лучшей практикой» для развертывания приложения ASP.NET было бы использование Windows Server 2008 (скорее всего, веб-версии). И наймите хорошего администратора.
источник
Вы можете использовать Mono для запуска приложений ASP.NET в Apache / Linux, однако он имеет ограниченный набор того, что вы можете делать в Windows. Что касается «их», утверждающих, что Windows более уязвима для атак - это неправда. За последние пару лет у IIS было меньше проблем с безопасностью, чем у Apache, но в любом случае все сводилось к администрированию ящиков - обе ОС можно легко защитить. В наши дни точками атаки являются не ОС или программное обеспечение веб-сервера, а сами приложения.
источник
dotnet - это официальный дом .NET на GitHub. Это отличная отправная точка для поиска множества проектов .NET OSS от Microsoft и сообщества, в том числе многих, которые являются частью .NET Foundation.
Это может стать отличным началом поддержки Linux.
источник
Теперь .Net работает на нескольких платформах, таких как Linux, Mac OS и т. Д., Но mono не полностью независима от платформы, потому что для развертывания .NET в другой ОС требуется стороннее программное обеспечение. Поэтому это не похоже на независимость от платформы Java.
Mono работает на другой платформе, потому что JIT присутствует в разных ОС.
Моно не полностью успешен при лунном свете (серебряный свет в .NET). Не только исследования продолжаются.
Mono использует сервер XSP2 или apache. некоторые крупные компании используют этот проект. Некоторые из роботизированных проектов также работают в моно.
Для получения дополнительной информации http://www.mono-project.com/Main_Page .
источник
Существует проект Mono от Novell, который позволит вам запускать ASP.Net на Apache.
http://www.mono-project.com/Main_Page
источник
Проект Mono - ваш лучший вариант. Однако у него много подводных камней (например, неполная поддержка API в некоторых областях), и он юридически серый (такие люди, как Ричард Столмен, высмеивают использование Mono из-за возможности того, что Microsoft откажется от Mono, используя свои патентные права, но это отдельная история).
В любом случае, Apache поддерживает .NET / Mono через модуль, но в последний раз, когда я проверял версию, поставляемую с Debian, она обеспечивала поддержку только языка Perl; Я не могу сказать, изменилось ли это с тех пор, возможно, кто-то другой поправит меня там.
источник