Предисловие. В этой статье подробно описано, как публиковать проекты .NET Core на серверах IIS. Прежде всего, первым шагом является установка IIS, которая представляет собой установку на локальном компьютере и сервере. Затем вам необходимо установить SDK и среду выполнения для публикации проекта .NETCore. Во-вторых, здесь рассказывается, как публиковать проекты .NETCore и проекты Vue, а также настраивать IIS. Наконец, здесь рассказывается, как развернуть проект в сервисной службе.
1. Учебное пособие по установке IIS
1.1-Установите IIS на локальный компьютер (Windows)
(1) Щелкните правой кнопкой мыши ——> щелкните [Настройки дисплея]
(2) Найдите [Панель управления]
(3) Нажмите [Программа]
(4) Нажмите [Включить или выключить функции Windows]
(5) Выберите Информационную службу Интернета (сокращение от IIS).
1.2- Установите IIS на сервер (WindowsServer)
Если у вас нет сервера, который вы можете опубликовать в локальной конфигурации IIS, и если вам необходимо приобрести облачный сервер, Tencent Cloud и Alibaba Cloud являются хорошим выбором. Вы можете нажать на ссылку ниже, чтобы принять участие в специальной акции, чтобы покупка! Если у вас есть какие-либо вопросы, пожалуйста, проконсультируйтесь со мной ~
Alibaba Cloud:Cloud Station_Эксклюзивное специальное предложение_Рекомендация продукта Cloud — Alibaba Cloud
Tencent Cloud:Специальная рекламная акция для представителей страница коллекции товаров
(1) Откройте [Диспетчер серверов]
(2) Выполните следующие действия. Нажмите [Добавить роли и функции]
(3) Нажмите [Далее]
(4) В категории типа установки выберите [установка на основе ролей или функций].
(5) Нажмите [Далее]
(6) Установите флажок [Веб-сервер (IIS)], а затем нажмите [Далее].
(7) Затем нажмите [Далее].
(8) Затем нажмите [Установить].Этот процесс может занять много времени, и вам придется подождать некоторое время, чтобы установить его.
(9) После завершения установки здесь вы увидите IIS.
2. Установите SDK и среду выполнения на сервер.
Загрузить официальный сайт Runtime:Загрузки .NET (Linux, macOS и Windows)
Загрузите разные версии в соответствии с вашим проектом:
Блогер скачал .NET 5 (обычно просто устанавливает RunTime):
Загрузите SDK, блоггер скачает 64-битную версию, и вы сможете загрузить ее на свой компьютер.
Получите эти 2 файла:
Если вы публикуете на своем компьютере, просто дважды щелкните, чтобы установить его. Если вы хотите опубликовать проект на сервере, скопируйте эти два файла на сервер и установите их отдельно.
После успешной установки на сервере проверьте, прошла ли установка успешно:
3. Релиз проекта
3.1. Публикация проекта .NET Core в IIS.
(1) Щелкните проект правой кнопкой мыши и выберите [Опубликовать].
(2) Выберите [Папка]
(3) Выберите путь для сохранения и нажмите [Готово];
(4) Нажмите [Опубликовать], и вы увидите, что публикация завершена.
(5) Затем скопируйте упакованную папку на сервер.
3.2. Опубликуйте проект Vue в IIS.
(1) Откройте проект Vue.
(2) Запустите следующую команду в VS Code или терминале, чтобы упаковать проект.
npm run build
(3) Затем получите папку dist.
(4) Откройте IIS и создайте новый сайт.
(5) Если возникнет эта ошибка, посетите веб-сайт.
Ошибка HTTP 404.0 — не найдено
Ресурс, который вы ищете, был удален, его имя было изменено или он временно недоступен.
(6) Решение следующее: просто добавьте в IIS функцию перезаписи URL-адресов.
6.2-Откройте следующий URL-адрес для загрузки и установки:
Загрузка для государственных организаций:Переписывание URL: официальный сайт Microsoft IIS
Нажмите [Сохранить файл], чтобы загрузить:
6.3-Затем скопируйте только что скачанный файл на сервер для установки.
6.4- Затем создайте файл [web.config] на сайте Vue и скопируйте следующую информацию о конфигурации.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Handle History Mode and custom 404/500" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
4. Разверните проект в IIS для проксирования.
(1) Откройте IIS и создайте новый сайт.
(2) Измените пул приложений, измените версию .NET CLR на [Нет управляемого кода] и измените режим управляемого конвейера на [Интегрированный].
(3) Затем запустите его, и все будет успешно.
(4) Если возникают следующие проблемы и сообщается об ошибке:
Ошибка HTTP 500.19 — внутренняя ошибка сервера
Доступ к запрошенной странице невозможен, поскольку соответствующие данные конфигурации для страницы недействительны.
4.1- Сначала проверьте, можно ли нормально открыть модуль.
4.2-Поскольку наш проект находится на рабочем столе, разрешений будет недостаточно, а в сообщении об ошибке также упоминается недостаточно разрешений.Тогда мы можем разместить проект на других дисках для развертывания. (да, тогда появляется еще одна ошибка)
Разрешение (ошибка 502.5):
4.3-Откройте журнал, затем создайте новую папку [Журнал], затем перезапустите IIS и найдите ошибку в журнале.
5. Разверните проект в сервисе Service.
5.1-Развертывание в сервисной службе (проект WebAPI)
Адрес загрузки:NSSM — простой сервис-менеджер
(1) Скачать
(2) Скопируйте загруженный сжатый пакет на сервер, распакуйте его, а затем выберите версию, соответствующую системе.
(3) Введите «cmd» в этом каталоге, а затем войдите в текущий каталог.
(4) Введите команду, и появится это окно.
установка нссм
Путь:C:\Program Files\dotnet\dotnet.exe
(5) Следующие операции:
5.1-Введите следующее имя, чтобы проверить успешность установки:
имя службы статуса nssm
5.2-Запуск
имя запуска службы nssm
5.2-Общие команды NSSM
1. 安装服务命令
nssm install <servicename>
nssm install <servicename> <program>
nssm install <servicename> <program> [<arguments>]
2. 删除服务
nssm remove
nssm remove <servicename>
nssm remove <servicename> confirm
3. 启动、停止服务
nssm start <servicename>
nssm stop <servicename>
nssm restart <servicename>
4. 查询服务状态
nssm status <servicename>
5. 服务控制命令
nssm pause <servicename>
nssm continue <servicename>
nssm rotate <servicename>
Заявление об авторских правах: Эта статья является оригинальной, авторские права принадлежат [Xigua Programmer]. При перепечатке указывайте источник. Если у вас есть какие-либо вопросы, отправьте личное сообщение.
Исходная ссылка:Выпуск и развертывание проекта: как опубликовать проект .NETCore на сервере IIS? _Блог программиста Xigua-Блог CSDN