Как разместить программу на сервере

В этом руководстве описывается, как разместить приложение ASP.NET Core на сервере служб IIS.

В руководстве рассматриваются следующие действия:

  • установка пакета размещения .NET Core в Windows Server;
  • создание сайта служб IIS в диспетчере служб IIS;
  • развертывание приложения ASP.NET Core.

Предварительные требования

  • Пакет SDK для .NET Core, установленный на компьютере разработки.
  • Сервер Windows Server с настроенной ролью Веб-сервер (IIS) . Если сервер не настроен для размещения веб-сайтов со службами IIS, следуйте указаниям в разделе Настройка служб IIS статьи Размещение ASP.NET Core в Windows со службами IIS, а затем вернитесь к этому руководству.

Принципы настройки служб IIS и обеспечения безопасности веб-сайта не рассматриваются в этом руководстве. Перед размещением рабочих приложений в службах IIS ознакомьтесь с руководством по службам IIS в документации по Microsoft IIS и статьей о размещении ASP.NET Core с помощью служб IIS.

Как поставить программу на сервер? Круглосуточная работа программ.

Важные сценарии размещения служб IIS, не рассматриваемые в этом руководстве:

  • Создание куста реестра для защиты данных ASP.NET Core
  • Настройка списка управления доступом (ACL) для пула приложений
  • Чтобы сосредоточиться на принципах развертывания посредством служб IIS, в этом руководстве приложение развертывается без настройки протокола HTTPS в службах IIS. Дополнительные сведения о размещении приложения с поддержкой протокола HTTPS см. в статьях, посвященных безопасности, в разделе Дополнительные ресурсы этой статьи. Дополнительные рекомендации по размещению приложений ASP.NET Core приведены в статье Размещение ASP.NET Core в Windows со службами IIS.

Установка пакета размещения .NET Core

Установите пакет размещения .NET Core на сервере служб IIS. В составе пакета устанавливаются среда выполнения .NET Core, библиотека .NET Core и модуль ASP.NET Core. Модуль позволяет запускать приложения ASP.NET Core под управлением IIS.

Скачайте установщик по следующей ссылке:

  1. Запустите установщик на сервере служб IIS.
  2. Перезагрузите сервер или в командой оболочке выполните команду net stop was /y , а затем — net start w3svc .

Создание сайта IIS

  1. На сервере служб IIS создайте папку, в которой будут храниться файлы и папки опубликованного приложения. На следующем этапе путь к папке предоставляется IIS как физический путь к приложению. Дополнительные сведения о папке развертывания и структуре файлов приложения см. в статье Структура каталогов ASP.NET Core.
  2. В окне диспетчера IIS на панели Подключения разверните узел сервера. Щелкните правой кнопкой мыши папку Сайты. В контекстном меню выберите пункт Добавить веб-сайт.
  3. Укажите Имя сайта и задайте Физический путь к созданной папке развертывания приложения. Укажите конфигурацию привязки и нажмите кнопку ОК, чтобы создать веб-сайт.
Читайте также:
Как заблокировать программы на компьютере от детей

Предупреждение Не используйте привязки с подстановочными знаками ( http://*:80/ и http://+:80 ) на верхнем уровне. Это может создать уязвимость и поставить ваше приложение под угрозу. Сюда относятся и строгие, и нестрогие подстановочные знаки. Вместо этого используйте имена узлов в явном виде.

Как запустить программу на VDS сервере | Настройка VDS VPS сервера

Привязки с подстановочными знаками на уровне дочерних доменов (например *.mysub.com ) не создают таких угроз безопасности, если вы полностью контролируете родительский домен (в отличие от варианта *.com , создающего уязвимость). См. статью RFC 9110: семантика HTTP (раздел 7.2). Host и :authority) для получения дополнительных сведений.

Создание приложения Razor Pages ASP.NET Core

Чтобы создать приложение Razor Pages, следуйте инструкциям в руководстве Начало работы с ASP.NET Core.

Публикация и развертывание приложения

Публикация приложения означает создание скомпилированного приложения, которое можно разместить на сервере. Развертывание приложения означает перемещение опубликованного приложения в систему размещения. Публикация обеспечивается пакетом SDK для .NET Core, а развертывание может производиться различными способами. В этом руководстве применяется развертывание с помощью папок, которое состоит из следующих этапов:

  • Приложение публикуется в папке.
  • Содержимое папки перемещается в папку на сайте IIS (физический путь к сайту в диспетчере IIS).
  • Visual Studio
  • Интерфейс командной строки .NET Core
  • Visual Studio для Mac
  1. В обозревателе решений щелкните правой кнопкой мыши проект и выберите Опубликовать.
  2. В диалоговом оке Выберите целевой объект публикации выберите вариант публикации Папка.
  3. Укажите путь к папке или общей папке.
    • Если вы создали для сайта IIS папку, доступную на компьютере разработки в качестве сетевой папки, укажите путь к общей папке. Для публикации в общей папке текущий пользователь должен иметь доступ на запись.
    • Если выполнить развертывание непосредственно в папке сайта IIS на сервере IIS невозможно, опубликуйте приложение в папке на съемном носителе и физически переместите опубликованное приложение в папку сайта IIS на сервере, которая является физическим путем сайта в диспетчере IIS. Переместите содержимое папки bin/Release//publish в папку сайта IIS на сервере, которая является физическим путем сайта в диспетчере IIS.
    • Нажмите кнопку Опубликовать.

    dotnet publish —configuration Release

    1. В обозревателе решений щелкните правой кнопкой мыши проект и выберите пункты Опубликовать>Опубликовать в папку.
    2. Укажите путь в поле Выберите папку.
      • Если вы создали для сайта IIS папку, доступную на компьютере разработки в качестве сетевой папки, укажите путь к общей папке. Для публикации в общей папке текущий пользователь должен иметь доступ на запись.
      • Если выполнить развертывание непосредственно в папке сайта IIS на сервере IIS невозможно, опубликуйте приложение в папке на съемном носителе и физически переместите опубликованное приложение в папку сайта IIS на сервере, которая является физическим путем сайта в диспетчере IIS. Переместите содержимое папки bin/Release//publish в папку сайта IIS на сервере, которая является физическим путем сайта в диспетчере IIS.
      • Нажмите кнопку Опубликовать.
      Читайте также:
      Программа для определения кому принадлежит номер телефона

      Обзор веб-сайта

      Приложение будет доступно в браузере после получения первого запроса. Выполните запрос к приложению в привязке конечной точки, созданной в диспетчере служб IIS для сайта.

      Следующие шаги

      В этом руководстве вы узнали, как:

      • установка пакета размещения .NET Core в Windows Server;
      • создание сайта служб IIS в диспетчере служб IIS;
      • развертывание приложения ASP.NET Core.

      Дополнительные сведения о размещении приложений ASP.NET Core в службах IIS см. в обзорной статье о службах IIS:

      Дополнительные ресурсы

      Статьи в наборе документации по ASP.NET Core

      • Модуль ASP.NET Core (ANCM) для IIS
      • Структура каталогов ASP.NET Core
      • Устранение неполадок ASP.NET Core в Службе приложений Azure и IIS
      • Принудительное применение HTTPS в ASP.NET Core

      Статьи, относящиеся к развертыванию приложений ASP.NET Core

      • Публикация приложения ASP.NET Core в Azure с помощью Visual Studio
      • Публикация приложения ASP.NET Core в Azure с помощью Visual Studio Code
      • Профили публикации Visual Studio (.pubxml) для развертывания приложений ASP.NET Core
      • Публикация веб-приложения в папку с помощью Visual Studio для Mac

      Статьи о конфигурации HTTPS служб IIS

      • Настройка SSL в диспетчере служб IIS
      • Настройка SSL в службах IIS

      Статьи о службах IIS и Windows Server

      • Официальный веб-сайт Microsoft IIS
      • Библиотека технического содержимого по Windows Server

      Ресурсы развертывания для администраторов IIS

      • Документация по службам IIS
      • Начало работы с диспетчером IIS в IIS
      • Развертывание приложений .NET Core
      • Модуль ASP.NET Core (ANCM) для IIS
      • Структура каталогов ASP.NET Core
      • Модули IIS с ASP.NET Core
      • Устранение неполадок ASP.NET Core в Службе приложений Azure и IIS
      • Устранение распространенных неполадок в Службе приложений Azure и службах IIS с помощью ASP.NET Core

      Источник: learn.microsoft.com

      Развертывание приложений Django

      После того, как мы закончили разработку веб-приложения, оно должно быть размещено на хосте, чтобы общественность могла получить доступ к нему из любого места. Мы посмотрим, как развернуть и разместить приложение на экземпляре AWS EC2, используя Nginx в качестве веб-сервера и Gunicorn в качестве WSGI.

      AWS EC2

      Amazon Elastic Compute Cloud (Amazon EC2) — это веб-сервис, обеспечивающий масштабируемость вычислительных мощностей в облаке. Мы устанавливаем и размещаем наши веб-приложения на экземпляре EC2 после выбора AMI (OS) по нашему усмотрению. Подробнее об этом мы поговорим в следующих разделах.

      NGINX

      Nginx — это веб-сервер с открытым исходным кодом. Мы будем использовать Nginx для сервера наших веб-страниц по мере необходимости.

      GUNICORN

      Gunicorn — это серверная реализация интерфейса шлюза Web Server Gateway Interface (WSGI), который обычно используется для запуска веб-приложений Python.

      WSGI — используется для переадресации запроса с веб-сервера на Python бэкэнд.

      Мы не будем использовать сервер, который поставляется с django по умолчанию в производстве.

      Развертывание приложения

      Как разместить программу на сервере

      Данное руководство устарело. Актуальное руководство: Руководство по ASP.NET Core

      Читайте также:
      Как в программе abbyy finereader поменять принтер

      Последнее обновление: 31.10.2015

      Как правило, большинство веб-приложений ASP.NET публикуются на веб-сервер IIS. Поэтому посмотрим на примере, как размещать веб-приложение на IIS-севере.

      В начале сконфигурируем веб-сервер. Для этого откроем средство администрирования IIS: зайдем в Панель управления, затем выберем Администрирование->Диспетчер служб IIS. И нам откроется консоль управления IIS:

      Консоль IIS

      Будем размещать свой сайт в узле по умолчанию (в моем случае это Default Web Site). И для этого вначале создадим в каталоге этого узла папку для нашего приложения. По умолчанию каталогом для стандартного веб-узла является каталог C:inetpubwwwroot. Перейдем в нее и создадим в нем папку BookStore, которая будет содержать наше приложение.

      Теперь нажмем правой кнопкой мыши на имя узла по умолчанию и выберем в появившемся меню пункт Добавить приложение :

      Добавление приложения в IIS

      В появившемся окне введем соответствующие настройки (в качестве физического пути приложения созданный выше каталог):

      Настройка приложения для IIS

      Сайт у нас практически создан. Теперь осталось разместить в каталоге C:inetpubwwwrootBookStore наше приложение.

      Перейдем к приложению в Visual Studio. Нажмем правой кнопкой на название проекта и в появившемся меню выберем Publish :

      Перед нами откроется мастер публикации, который предложит нам пройти несколько этапов. В начале выберем профиль:

      Мастер публикации сайта в Visual Studio 2012

      Если не одного профиля не определено, то создадим, нажав на ссылку New. и выбрав какое-нибудь название.

      После создания профиля нажмем на Next и перейдем к следующему этапу — Connection. На этом этапе для опции Publish Method выберем File System

      Для опции Target Location определим физический путь к каталогу нашего сайта. В данном случае это путь C:inetpubwwwrootBookStore.

      А для поля Destination URL указываем url, по которому будет доступно приложение, а именно http://localhost/BookStore.

      После установки всех свойств жмем на кнопку Publish. После этого в Visual Studio в окне Output студия выдаст сводку об успешности или неуспешности публикации. Возможно, вы увидите сообщения «Отказано в доступе», из-за чего публикация пройдет неудачно:

      Консольный вывод публикации сайта

      В этом случае нам надо открыть доступ к папке C:inetpubwwwrootBookStore на запись (по умолчанию стоит доступ только на чтение) и повторить публикацию.

      Либо как вариант, если мы не хотим раскрывать доступ на запись, то можно вручную скопировать и перенести все необходимые файлы в указанную выше папку. Как нам показывает окно Output, все файлы для публикации сохраняются в проекте в каталоге objReleasePackagePackageTmp. И мы можем просто скопировать все файлы из этого каталога и перенести их в каталог C:inetpubwwwrootBookStore.

      Если мы при создании веб-приложения использовали движок базы данных localdb, то нам надо разместить базу данных на MS SQL Servere и соответсвенно изменить строку подключения к базе данных, чтобы использовать уже не localdb, который предназначен только для целей разработки, а MS SQL Server.

      Источник: metanit.com

      Рейтинг
      ( Пока оценок нет )
      Загрузка ...
      EFT-Soft.ru