Para un desarrollador con experiencia en Java, estoy interesado en explorar el desarrollo de software utilizando también las herramientas / plataforma ASP.NET.
Las aplicaciones web Java (.jsp y servlets) pueden ejecutarse en muchas plataformas de servidor.
Pregunta : ¿Se podrá ejecutar una aplicación web .NET en un servidor basado en Linux? Considerando el escenario de no poder utilizar un servidor Windows para alojar una aplicación web.
Entonces sé que esta es una pregunta anterior, pero creo que podría soportar una respuesta actualizada.
Microsoft ha lanzado oficialmente asp.net vnext y su código abierto y se puede implementar tanto en Linux como en Mac. Todo sigue siendo bastante nuevo, pero se basa en las últimas versiones de mono y, por lo tanto, actualmente necesita que lo compile,
mono-framework
pero con el tiempo sospecho que será más fácil acceder a él ya que varias distribuciones de Linux lanzan versiones actualizadas de mono. Esta es una guía de cómo configurarEsta información puede ser algo volátil y con actualizaciones debe cambiar.
Actualizar ASP.NET CORE 11/10/2017
fuente
Es posible que desee considerar esta guía que ayuda a los desarrolladores de Windows a migrar su código a Mono / Linux:
Guía: portabilidad de aplicaciones ASP.NET - Mono
fuente
Puedo hablar por experiencia. Incluso si su sitio web ASP.net solo usa bibliotecas .NET compatibles con Mono, tendrá dificultades para ejecutarlo si es algo más allá de Hello World.
No tendrá que volver a escribir mucho código, pero pasará horas / días / semanas lidiando con pequeños problemas con la configuración de mod_mono / xsp / apache y los permisos de archivos y el manejo de errores y todas las pequeñas cosas que entran en un sitio web grande. (Esté preparado para pasar mucho tiempo haciendo preguntas sobre la falla del servidor :))
El problema es que mucha gente no usa Mono para los sitios web de ASP.net y, por lo tanto, no hay tanta gente que informe de errores, por lo que muchas cosas que son errores menores no se solucionan durante mucho tiempo.
fuente
Ahora puede publicar la aplicación ASP.NET 5 en Docker en Linux con Visual Studio. Vea la publicación a continuación de Scott Haselman
http://www.hanselman.com/blog/PublishingAnASPNET5AppToDockerOnLinuxWithVisualStudio.aspx
fuente
Dado que las tecnologías evolucionan y esta pregunta ocupa el primer lugar en Google, debemos incluir más allá del mono el nuevo núcleo de asp.net, que es una reescritura completa de asp.net para ejecutar para producción en Linux y Windows y para desarrollo para Linux. , Windows y Mac :
fuente
Si podemos. familiarícese con Mono Project y lea este artículo para comenzar.
fuente
Mono
en Linux medio ambiente?Para ASP.NET en Linux, consulte Mono .
Dicho esto, miles de sitios se ejecutan en Windows Server sin ningún problema. Un servidor mal configurado con cualquier sistema operativo será vulnerable; Linux no te salvará de un mal administrador.
Así que supongo que mi "mejor práctica" para implementar una aplicación ASP.NET sería utilizar Windows Server 2008 (probablemente edición Web). Y contrate a un buen administrador.
fuente
Puede usar Mono para ejecutar aplicaciones ASP.NET en Apache / Linux, sin embargo, tiene un subconjunto limitado de lo que puede hacer en Windows. En cuanto a "ellos" que dicen que Windows es más vulnerable a los ataques, no es cierto. IIS ha tenido menos problemas de seguridad en los últimos años que Apache, pero en cualquier caso todo depende de la administración de las cajas: ambos sistemas operativos se pueden proteger fácilmente. En estos días, los puntos de ataque no son el sistema operativo o el software del servidor web, sino las aplicaciones mismas.
fuente
punto net es el hogar oficial de .NET en GitHub. Es un excelente punto de partida para encontrar muchos proyectos .NET OSS de Microsoft y la comunidad, incluidos muchos que forman parte de .NET Foundation.
Este puede ser un gran comienzo para admitir Linux.
fuente
Hoy en día .Net se ejecuta en múltiples plataformas, como linux, Mac os, etc. pero mono no es completamente independiente de la plataforma, porque para implementar .NET en otro sistema operativo se requiere software de terceros, por lo que no es como una plataforma java independiente.
Mono se ejecuta en una plataforma diferente, porque JIT está en diferentes sistemas operativos.
Mono no es un éxito total a la luz de la luna (luz plateada en .NET). No solo se están realizando investigaciones.
Mono usa un servidor XSP2 o apache. Algunas de las grandes empresas están utilizando este proyecto. Algunos de los proyectos robóticos también se ejecutan en mono.
Para obtener más detalles, visite http://www.mono-project.com/Main_Page .
fuente
Existe el Proyecto Mono de Novell que le permitirá ejecutar ASP.Net en Apache.
http://www.mono-project.com/Main_Page
fuente
El proyecto Mono es tu mejor opción. Sin embargo, tiene muchas trampas (como el soporte de API incompleto en algunas áreas) y es legalmente gris (personas como Richard Stallman se han burlado del uso de Mono debido a la posibilidad de que Microsoft se enfrente a Mono usando sus derechos de patente, pero esa es otra historia).
De todos modos, Apache soporta .NET / Mono a través de un módulo, pero la última vez que verifiqué la versión suministrada con Debian, solo ofrecía soporte para el lenguaje Perl; No puedo decir si ha cambiado desde entonces, tal vez alguien más pueda corregirme allí.
fuente