2015-02-20 5 views
8

Я немного поиграл с vNext и получил образцы проектов. Я создал виртуальную машину Ubuntu, установил необходимые пакеты и запустил все это с помощью k run (консольное приложение) и k kestrel (приложение MVC).vNext на веб-сервере Apache

Теперь, на следующем этапе: выполняется несколько проектов на выделенном веб-сервере. Kestrel (по крайней мере на данный момент) просто простой веб-сервер разработки, используемый для vNext. Шансы, что он превратится в полномасштабный веб-сервер, кажутся маленькими.

Таким образом, я хотел бы получить то, что работает на Apache. Я предполагаю, что мода-моно будет играть где-то. Однако на данный момент я не думаю, что он поддерживает последнюю инфраструктуру vNext. С другой стороны, я думаю, нам понадобится KRE где-нибудь.

Какие-нибудь новости о том, что в ближайшее время мы будем запускать проекты ASP.NET на Apache? Кто-нибудь это сделал?

Меня очень увлекает идея кросс-платформенных приложений .NET. Мой нынешний работодатель вкладывает много средств в проекты с использованием кросс-платформенного и программного обеспечения с открытым исходным кодом. Я бы хотел заранее узнать кое-что и попытаться лидировать в полной миграции на веб-серверы Linux вместо серверов Windows.

Спасибо!

+0

Хорошо ... Я до сих пор не нашел решение для Apache. Однако nginx - отличная альтернатива Apache, и вы можете настроить его на прокси-сервер для сервера kestrel: http://pkula.blogspot.be/2015/01/production-ready-aspnet-5-mvc-vnext-on .html Это далеко не идеальный, но это шаг в правильном направлении. – Nullius

ответ

3

Я рад видеть, что есть много из нас пытается получить vnext и работает вне среды Windows :)

Конечно вы правы пустельги. Вероятно, это окажется простым веб-сервером, как сейчас, в учебнике Hello.js Hello World. Вы можете попробовать использовать его в качестве производственной среды, запустив его в фоновом режиме Running K Kestrel in the background на веб-сервере, а затем передать запросы Kestrel от Apache Proxy

VirtualHost запросы пример проксирования к Kestrel начал *: 5004

<VirtualHost *:80> 
ServerName example.com:80 

ProxyRequests On 

<Proxy *> 
Order deny,allow 
Allow from all 
</Proxy> 

ProxyPreserveHost Off 

ProxyPass/http://localhost:5004 
ProxyPassReverse/http://localhost:5004 

</VirtualHost> 

Но я не рекомендую решение выше. Есть некоторая проблема с пустельгой, которая мешает вам отправлять выходные данные вне tty, и поэтому вы не можете запустить ее при запуске с помощью сценария запуска. Таким образом, веб-сайт, который вы запустили, будет продолжаться до тех пор, пока ваш сервер останется в сети :)

Я рекомендую использовать Docker. Это своего рода оболочка для ASP.NET, которая поддерживается Microsoft. Вы могли бы лучше использовать это на этом этапе.

Вот еще информация

http://blogs.msdn.com/b/webdev/archive/2015/01/14/running-asp-net-5-applications-in-linux-containers-with-docker.aspx

+1

Извините, но я не понимаю, как Docker может помочь запустить Asp.net 5 на Apache. Не могли бы вы объяснить больше, пожалуйста? – Donald

+1

Hi @Donald Я понимаю, о чем вы думаете. Дело в том, что вы не можете запускать * напрямую * приложение ASP.NET 5 под веб-сервером Apache. Что вы можете сделать, так это создать прокси-сервер Apache и передать запросы на сервер Kestrel. Но рекомендуемое решение - использовать докеры. Под ссылкой, которую я приложил, вы можете найти хороший учебник, который показывает, как заставить его работать в среде linux. Вы также можете проверить http: //www.mono-project.com/docs/about-mono/compatible/которая является реализацией OpenSource .NET, если они поддерживают 4.6, возможно, возможно запустить приложение под Apache –

Смежные вопросы