Я довольно плохо знаком с платформой ядра .net, и у меня нет особого опыта в настройке IIS 10, и у меня возникают проблемы с его настройкой и запуском. На сервере я использую Windows Server 2016. Я установил IIS 10 со службами управления (см. Изображение ниже) и функциями .net framework 4.6 (см. Изображение ниже).
После установки я скачал и установил пакет Web Deploy из Web Deploy 3.6 (Ранее я устанавливал установщик Web Platform, а затем устанавливал Web Deploy оттуда).
После перезагрузки системы я убедился, что службы работают правильно (см. Изображение ниже).
Кажется, все правильно, поэтому следующим шагом было создание веб-сайта IIS. Я решил поместить сайт в веб-сайты по умолчанию , как показано ниже:
Сайт указывает на пул приложений по умолчанию, так как я не создал новый. Я изменил пул приложений на следующие настройки:
Я также изменил его идентификатор на NetworkService , ранее я пытался установить его на LocalSystem (см. Изображение ниже).
Я также убедился, что пользователи IUSR и IIS_IUSRS имеют разрешения на чтение, выполнение и запись в каталог веб-сайта и подкаталоги (см. Изображения ниже).
Как только это будет сделано, я устанавливаю пакет хостинга ядра .net, загруженный из .Net Core Hosting Bundle .
И, наконец, в Visual Studio мой проект представляет собой проект бритвенной страницы .net core 2.1. При публикации своего проекта я создал профиль для публикации со следующими настройками:
Мое соединение проверено очень хорошо, поэтому я нажал Далее и настроил следующий шаг со следующими настройками:
Я сохраняю профиль, затем публикую его, и он отлично работает. Если я проверяю сервер, все файлы были опубликованы и кажутся правильными. Однако, если я пытаюсь перейти на страницу http://myserver/BlankLabel/, я получаю ошибку 404 (см. Изображение ниже). Теперь, если я попытаюсь перейти на веб-сайт по умолчанию (http://myserver), который загружается просто отлично.
Я был бы признателен за любую помощь в этом, так как у меня нет опыта в настройке этого и, конечно же, я что-то упустил ...
Ссылки
Размещение ядра ASP.NET в Windows с IIS
Публикация и развертывание приложения Razor Pages в IIS в Windows
Развертывание приложений .NET Core с Visual Studio
Обновление № 1
Я попытался создать новый сайт в разделе «Веб-сайты по умолчанию» и просто добавить простую страницу index.htm, чтобы посмотреть, будет ли она загружаться. Когда я увидел, что это работает, я опубликовал свое приложение на этом новом сайте (для этого создал временный второй профиль) и попытался перезагрузить страницу. В результате это привело к той же самой первоначальной ошибке (мой файл index.htm все еще оставался в папке вместе с опубликованными файлами). Затем я удалил опубликованные файлы и перезагрузил, и снова он работал с файлом index.htm ... Очевидно, что-то происходит с проектом .net core 2.1, и IIS это не нравится ...
Обновление № 2
Просто подумал, что я хотел бы добавить, что AspNetCoreModule загружен, и он также установлен в качестве запуска (см. Изображения ниже). Так что я думаю, это всего лишь несколько секунд моего предыдущего обновления ...
Обновление № 3
Просто добавив файл web.config в соответствии с запросом (я также заметил, что журналы отключены, я установлю для них значение true и посмотрим, даст ли это мне дополнительную информацию):
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\BlankLabel.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</location>
</configuration>