Я довольно новичок в базовой структуре .net, и у меня нет большого опыта в настройке IIS 10, и у меня возникают проблемы с ее запуском. На стороне сервера я использую Windows Server 2016. Я установил IIS 10 со службами управления (см. изображение ниже) и функциями .net framework 4.6 (см. изображение ниже).
После установки я скачал и установил пакет Web Deploy из Web Deploy 3.6. (Ранее я устанавливал установщик веб-платформы, а затем устанавливал оттуда веб-развертывание).
После перезагрузки системы я убедился, что службы работают правильно (см. изображение ниже).
Все кажется правильным, поэтому следующим шагом было создание веб-сайта IIS. Я решил вложить этот сайт в раздел Веб-сайты по умолчанию, как показано ниже:
Сайт указывает на пул приложений по умолчанию, так как я не создавал новый. Я изменил пул приложений на следующие настройки:
Я также изменил его идентификатор на NetworkService, ранее я пытался установить его на LocalSystem (см. изображение ниже).
Я также убедился, что пользователи IUSR и IIS_IUSRS имеют разрешения на чтение, выполнение и запись в каталоге и подкаталогах веб-сайта (см. изображения ниже).
Когда все это будет сделано, я установлю пакет хостинга .net core, загруженный с Комплект хостинга .Net Core.
И, наконец, в Visual Studio мой проект представляет собой проект страницы бритвы .net core 2.1. При публикации моего проекта я создал профиль для его публикации со следующими настройками:
Мое соединение было успешно проверено, поэтому я нажал Далее и настроил следующий шаг со следующими настройками:
Я сохраняю профиль, затем публикую его, и он отлично работает. Если я проверю сервер, все файлы будут опубликованы и кажутся правильными. Однако, если я попытаюсь перейти на страницу http://myserver/BlankLabel/, я получу ошибка 404 (см. изображение ниже). Теперь, если я попытаюсь перейти на веб-сайт по умолчанию (http://myserver), который загружает только отлично.
Я был бы признателен за любую помощь в этом, так как у меня нет опыта в настройке, и, конечно же, я что-то упускаю...
Ссылки
Host ASP .NET Core в 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>