Разверните ASP.NET RC1 WebApp в IIS 8.5
Я пытаюсь развернуть ASP.NET 5 WebApp в Windows Server 2012 R2 с установленным IIS 8.5.
У меня есть исходный код нового веб-приложения ASP.NET. Если я соберу его и запущу в Visual Studio 2015, то все будет нормально.
Теперь... я хочу использовать мастер публикации, чтобы развернуть его в ISS 8.5, поэтому я делаю...
- Щелкните правой кнопкой мыши на имени проекта (WebApplication5)
- Я создал пользовательский профиль (я назвал как localhost)
- Я добавляю целевое местоположение. C:\ Inetpub \ Wwwroot
- Я настраиваю Настройки
- Конфигурация: релиз
- Целевая версия DNX: dnx-clr-win-x64.1.0.0.rc1-update1
- Затем я публикую веб-приложение.
После этого у меня есть следующая структура папок в моем C:\inetpub\wwwroot
C:\inetpub\wwwroot
- approot
- packages
- runtime
- src
- ... bunch of files
- logs
- wwwroot
- css
- images
- js
- lib
- some files including web.config
Теперь я отредактировал разрешения C:\inetput\wwwroot для включения IIS_IUSRS и IUSR (на данный момент я дал им полный доступ для устранения проблем с разрешениями)
Наконец, я зашел в диспетчер ISS на Веб-сайт по умолчанию -> Правый клик -> Управление веб-сайтом -> Расширенные настройки -> и под физическим путем добавил C:\inetpub\wwwroot\wwwroot
Я перезапустил IIS-сервер, и когда я пытаюсь перейти на сайт по умолчанию, я получил следующее сообщение...
Ошибка HTTP 500.19 - внутренняя ошибка сервера
Запрашиваемая страница недоступна, потому что связанные данные конфигурации для этой страницы недействительны. Подробная информация об ошибке:
Модуль IIS Web Core
Уведомление Неизвестно
Обработчик еще не определен
Код ошибки 0x8007000d
Ошибка конфигурации
Файл конфигурации \?\C:\inetpub\wwwroot\wwwroot\web.config
И наконец... это содержимое файла web.config...
<configuration>
<system.webServer>
<handlers>
<add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
</handlers>
<httpPlatform processPath="..\approot\web.cmd" arguments="" stdoutLogEnabled="false" stdoutLogFile="..\logs\stdout.log" startupTimeLimit="3600"></httpPlatform>
</system.webServer>
</configuration>
Что мне не хватает? Раньше это было очень легко в предыдущих версиях ASP.NET, но сейчас я не могу настроить это должным образом.
Есть указатели? Спасибо!
1 ответ
Хорошо, когда у вас есть это...
Во-первых, убедитесь, что в вашем IIS установлен обработчик платформы HTTP ( x86 / x64).
Теперь вам нужно разблокировать system.webServer/handlers
раздел, который можно найти в диспетчере IIS на узле сервера под Configuration Editor
, Найдите нужный раздел и разблокируйте его на правой панели действий.
Убедитесь, что для пула приложений установлено значение No Managed Code
, DNX запускается как внешний процесс. IIS не нужно знать о том, что он в настоящее время работает.
Поскольку мы говорим о внешнем процессе... убедитесь, что вы можете запустить dnx
из пустой командной строки (как в: Не командная строка разработчика, предоставляемая Visual Studio).
Для полного урока, ознакомьтесь с официальной документацией.