Выпуск и развертывание проекта: как опубликовать проект .NETCore на сервере IIS?

Предисловие. В этой статье подробно описано, как публиковать проекты .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

Guess you like

Origin blog.csdn.net/2301_79251107/article/details/132292946