Запуск ASP.Net на сервере под управлением Linux

Для разработчика, имеющего опыт работы с Java, я заинтересован в изучении разработки программного обеспечения с использованием инструментов и платформы ASP.NET.

Веб-приложения Java (.jsp и сервлеты) могут работать на многих серверных платформах.

Question: Сможет ли веб-приложение .NET работать на сервере под управлением Linux? Рассматривая сценарий невозможности использовать сервер Windows для размещения веб-приложения.

Ответы на вопрос(13)

Существует Mono Project от Novell, который позволит вам запускать ASP.Net на Apache.

http://www.mono-project.com/Main_Page

Ты можешь использоватьМоно для запуска приложений ASP.NET в Apache / Linux, однако он имеет ограниченное подмножество того, что вы можете делать под Windows. Что касается "они" сказать, что Windows более уязвима для атаки - это неправда. За последние пару лет у IIS было меньше проблем с безопасностью, чем у Apache, но в любом случае все сводится к администрированию коробок - обе ОС могут быть легко защищены. В наши дни точками атаки являются не ОС или программное обеспечение веб-сервера, а сами приложения.

 Anand12 июл. 2009 г., 18:46
ты имеешь в виду как ... серверы Linux также могут быть уязвимы для атак ???
 01 июл. 2012 г., 16:06
@blowdart, щас взгляни на фейсбук беги на apachemakeuseof.com/tag/facebook-work-nuts-bolts-technology-explained
 12 июл. 2009 г., 18:53
все может быть уязвимо. ничто не является безопасным, если оно не выключено и не отключено от сети
Решение Вопроса

Это зависит от того, какие конкретные технологии .NET вы используете.Моно Проект предоставляет модуль Apache (mod_mono) для запуска сайтов ASP.NET, и, насколько я знаю, он работает хорошо.

Mono не поддерживает все API-интерфейсы .NET, особенно WPF (и, возможно, WCF тоже, я не могу вспомнить), но он обеспечивает хорошую поддержку для многих других фреймворков.

Если вы начинаете с нуля и особенно хотите ориентироваться на серверы, отличные от Windows, то обеспечение работы вашего проекта с Mono будет хорошей целью. Однако если вам нужны определенные API или языковые функции, которые не поддерживаются Mono, вам потребуется использовать сервер Windows для развертывания. Это выбор времени проектирования / архитектуры, который должен быть решен заранее.

 02 окт. 2009 г., 22:17
К сведению, у сопровождающего монопроекта есть ответ и на этот вопрос.
 24 февр. 2016 г., 13:24
У меня есть страница asp.net, которую я хочу интегрировать с основным сайтом php на сервере linux. Является ли это возможным? Действительно, возможно ли иметь php и asp.net на одном сервере Linux?
 10 авг. 2012 г., 14:56
Если вы не знакомы с проектом Mono и его сопровождающими,this answer это тот, на которого ссылается Джоэл.

Так что я знаю, что это старый вопрос, но я думаю, что он может выдержать обновленный ответ.

Microsoft официально выпустилаasp.net vnext и его открытый исходный код и возможность развертывания как для Linux, так и для Mac. Это все еще довольно новое, но оно опирается на последние сборки моно и, таким образом, в настоящее время требует, чтобы вы скомпилировалиmono-framework но со временем я подозреваю, что будет легче получить доступ, поскольку различные дистрибутивы Linux выпускают обновленные версии mono.Это руководство по установке

Эта информация может быть несколько нестабильной и с обновлениями из-за изменений.

Update ASP.NET CORE 11/10/2017 asp.net vnext is now known as asp.net core. asp.net core is being treated as a high priority in Microsoft due in part to its use with microservice architecture and docker and container technologies It has become much more compatible with existing .net libraries due to .net standard 2.0. It performs well when compared to other technology stacks such as go and node.js
 13 мар. 2018 г., 22:16
На сегодняшний день, какие веб-серверы Linux поддерживаются ASP.NET Core?
 16 мая 2017 г., 16:56
теперь известный как.NET Core и более стабильный

Теперь .Net работает на нескольких платформах, таких как Linux, Mac OS и т. Д. но mono не является полностью независимым от платформы, потому что для развертывания .NET в другой ОС требуется стороннее программное обеспечение. Так что это не как независимая платформа Java.

Mono работает на другой платформе, потому что JIT есть в разных ОС.

Mono не вполне успешен в лунном свете (серебряный свет в .NET). Не только исследования продолжаются.

Mono использует сервер XSP2 или apache. Некоторые крупные компании используют этот проект. Некоторые из роботизированных проектов также работают на моно.

Больше подробностейhttp://www.mono-project.com/Main_Page.

DotNet является официальным домом .NET на GitHub. Это отличная отправная точка для поиска многих проектов .NET OSS от Microsoft и сообщества, включая многие из них, являющиеся частью .NET Foundation.

Это может быть отличным началом для поддержки Linux.

Проект Mono - ваш лучший вариант. Однако у него много подводных камней (например, неполная поддержка API в некоторых областях), и он юридически серый (такие люди, как Ричард Столлман, высмеивают использование Mono из-за возможности перехода Microsoft на Mono с использованием своих патентных прав). , но это уже другая история).

В любом случае, Apache поддерживает .NET / Mono через модуль, но в последний раз, когда я проверял версию, поставляемую с Debian, он предоставлял только поддержку языка Perl; Я не могу сказать, изменился ли он с тех пор, возможно, кто-то другой может исправить меня там.

Я могу говорить из опыта. Даже если ваш сайт ASP.net использует только библиотеки .NET, поддерживаемые Mono, вам будет сложно заставить его работать, если он выходит за рамки Hello World.

Вам не придется переписывать много кода, но вы потратите часы / дни / недели на решение небольших проблем с конфигурацией mod_mono / xsp / apache, правами доступа к файлам и обработкой ошибок, а также со всеми мелочами, которые входят в большой веб-сайт. (Будьте готовы потратить много времени, задавая вопросы по поводу отказа сервера :))

Проблема заключается в том, что многие люди не используют Mono для веб-сайтов ASP.net, и поэтому не так много людей сообщают об ошибках, поэтому многие мелкие ошибки остаются не исправленными в течение длительного времени.

 17 авг. 2015 г., 17:22
Я признаю, что у меня были те же мысли и я столкнулся с этим в реальном проекте.

Для ASP.NET в Linux, проверьтеМоно.

Тем не менее, тысячи сайтов работают на Windows Server без каких-либо проблем. Плохо настроенный сервер с любой ОС будет уязвим; Linux не спасет вас от плохого администратора.

Так что я думаю, что моя "лучшая практика" для развертывания приложения ASP.NET будет использовать Windows Server 2008 (скорее всего, веб-версия). И нанять хорошего администратора.

 Anand12 июл. 2009 г., 18:54
А как насчет проблемы с антивирусом ... Windows требует антивирусного программного обеспечения .. Я думаю, что это увеличит стоимость серверной части.
 22 июл. 2009 г., 08:41
Самый "сервер" выпуски антивирусных продуктов стоят дороже, чем их «настольные» издания, часто в несколько раз больше, в основном из-за ожидаемого использования. Я рекомендую AVG (www.avg.com), ESET (www.eset.com) или Computer Associates (www.ca.com).

Так как технологии развиваются, и этот вопрос занимает первое место в Google, мы должны включить помимомоно новое ядро asp.net, которое полностью переписаноasp.net для работы в Linux и Windows и для разработки для Linux, Windows и Mac:

You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac and Linux. ASP.NET Core is open source at GitHub.

Возможно, вы захотите рассмотреть это руководство, которое помогает разработчикам Windows перенести свой код на Mono / Linux:

Руководство: портирование приложений ASP.NET - Mono

Теперь вы можете опубликовать приложение ASP.NET 5 в Docker под Linux с помощью Visual Studio. Смотрите ниже пост от Скотта Хазелмана

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

 07 янв. 2016 г., 21:11
Нет ли рабочего веб-сервера, который будет работать с ASP.NET 5, кроме Kestrel, который является только сервером разработки? Как это допустимый вариант без возможности размещения веб-сайта ASP.NET в Linux?
 10 окт. 2016 г., 16:52
и контейнеры Docker для Windows запускаются только на Windows Server 16, так что это не имеет отношения к вопросу

Да мы можем. познакомиться сМоно Проект и читатьЭта статья для начала.

 25 янв. 2018 г., 06:22
Будут ли все библиотеки правильно установлены вASP.Net web forms сMono вLinux среда?

Ваш ответ на вопрос