Настройка Asp net ubuntu

Обновлено: 06.07.2024

Содержание

Мы собираемся создать новое приложение с именем Webnix для демонстрации, как показано ниже.

Теперь, наконец, нажмите кнопку «Создать», чтобы создать проект.

Структура проекта
Структура проекта, созданная в соответствии с конфигурацией.

Настройте обратный прокси-сервер в приложении
После создания проекта далее мы собираемся внести изменения в метод Configure в классе Startup, мы собираемся добавить промежуточное ПО UseForwardedHeaders.

Настроить метод в классе запуска

Создание виртуальной машины Azure

В этой части мы собираемся создать виртуальную машину Linux в Azure с образом Ubuntu Server 18.04 LTS.
Вы можете выбрать следующую подписку в группе ресурсов, если у вас есть существующая группа ресурсов, тогда вы можете выберите это или создайте новый ресурс для этой демонстрации, я создал новую группу ресурсов Ubuntu-Host-VM-Apache-RG

Помимо выбора размера виртуальной машины в соответствии с вашими потребностями для демонстрации, нам не требуется большая машина, поэтому я выбрал экземпляр Standard_B2s с 2 виртуальными ЦП и 4 ГБ ОЗУ.

С этой конфигурацией просто нажмите кнопку Review + Create, чтобы создать виртуальную машину. Развертывание займет некоторое время.

Подключение к виртуальной машине Linux с помощью PuTTY

Чтобы получить общедоступный IP-адрес для подключения к вашей виртуальной машине, просто нажмите Главное меню на боковой панели, затем вы можете выбрать Недавние ресурсы, из которых недавно выберите Создать виртуальную машину, вы увидите экран, аналогичный показанному ниже.

Давайте запустим PuTTY для подключения к виртуальной машине.

Введите общедоступный IP-адрес в поле Имя хоста, а порт будет равен 22, как показано на снимке экрана выше, и нажмите кнопку Открыть для подключения.

Введите имя пользователя и пароль, которые вы установили при создании виртуальной машины.

После подключения терминала запустим в нем какую-нибудь установку.

Шаг 1. Зарегистрируйте ключ продукта Microsoft как доверенный

Мы собираемся запустить эту команду в терминале.

Шаг 3. Публикация приложения

На этом шаге мы собираемся опубликовать приложение в папке и скопировать эту папку на виртуальную машину.

Для публикации приложения просто щелкните правой кнопкой мыши веб-приложение (Webnix) и выберите "Опубликовать" в меню. Мы собираемся опубликовать приложение в локальной папке, мы собираемся выбрать опцию «Папка».

Опубликованные файлы

После публикации нам нужно скопировать файлы на виртуальную машину Linux, для этого мы будем использовать инструмент WinSCP.

Шаг 4. Копирование приложения на виртуальную машину Linux

На этом шаге мы собираемся скопировать эту папку на виртуальную машину Linux, для этого мы собираемся использовать WinSCP.

Шаг 5. Установите Apache

На этом этапе мы собираемся установить веб-сервер Apache.

Затем мы установили Apache, теперь мы можем проверить статус веб-сервера Apache, работает ли он.

Шаг 6. Проверка состояния сервера Apache

Для тестирования в браузере просто войдите с общедоступного IP-адреса. Он покажет вам веб-страницу Ubuntu 18.04 Apache по умолчанию, как показано ниже.

Шаг 7. Включите необходимые модули Apache

Здесь мы собираемся запустить следующую команду, чтобы включить прокси- и SSL-модули сервера Apache.

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

Шаг 8. Перезапустите Apache

Здесь мы собираемся перезапустить сервер Apache после включения модулей на последнем шаге.

Шаг 9. Создание папки в папке www и копирование всех файлов приложения

На шаге 3 мы скопировали файлы в папку /home/azureuser/publish/, теперь мы собираемся скопировать эти файлы в папку /var/www/publishapplication/. Перед копированием мы создадим папку.

Скопируйте файлы во вновь созданную папку /var/www/publishapplication/Publish folder.

команда cp -r

Просмотр после копирования файлов в новую папку.

Шаг 10. Создайте файл конфигурации виртуального хоста

Конфигурация виртуального хоста Apache находится в /etc/apache2/sites-available

Я собираюсь назвать файл конфигурации виртуального хоста как webnixfile.conf, многие люди дают доменное имя файлу конфигурации, чтобы его было легко распознать.

Шаг 11. Добавьте приведенный ниже контент в файл Webnixfile.conf

После добавления этого контента просто сохраните файл.

Шаг 12. Отключите сайт по умолчанию, определенный в 000-default.conf

После отключения сайта, определенного в файле 000-default.conf, мы собираемся активировать текущий настроенный файл конфигурации виртуального хоста.

Шаг 13. Активируйте файл Webnixfile.conf

Здесь мы собираемся включить файл webnixfile.conf.

Шаг 14. Проверка синтаксиса файла конфигурации по умолчанию

Если сообщение терминала «Синтаксис в порядке», значит, ваш файл конфигурации правильный.

Шаг 15. Перезапустите Apache2, чтобы внести новые изменения

Шаг 16. Создание службы

Создание файла службы systemd с именем webnixservicefile.service

Вставьте следующее содержимое в файл службы.

WorkingDirectory= определяет, в каком каталоге будет запущена служба.

Это папка публикации моего приложения /var/www/publishapplication/publish

ExecStart= позволяет вам указать любую команду, которую вы хотите запустить при запуске этой службы.

Поддерживаемые дистрибутивы

Установить предварительные версии

Удалить предварительные версии

21.10 ✔️

Откройте терминал и выполните следующие команды:

Установите SDK

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет dotnet-sdk-6.0, см. раздел об устранении неполадок APT.

Установите среду выполнения

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет aspnetcore-runtime-6.0, см. раздел об устранении неполадок APT.

21.04 ✔️

Откройте терминал и выполните следующие команды:

Установите SDK

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет dotnet-sdk-6.0, см. раздел об устранении неполадок APT.

Установите среду выполнения

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет aspnetcore-runtime-6.0, см. раздел об устранении неполадок APT.

❌ Обратите внимание, что эта версия Ubuntu больше не поддерживается.

Откройте терминал и выполните следующие команды:

Установите SDK

Если вы получаете сообщение об ошибке, похожее на Не удалось найти пакет dotnet-sdk-5.0, см. раздел об устранении неполадок APT.

Установите среду выполнения

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет aspnetcore-runtime-5.0, см. раздел об устранении неполадок APT.

20.04 ✔️

Откройте терминал и выполните следующие команды:

Установите SDK

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет dotnet-sdk-6.0, см. раздел об устранении неполадок APT.

Установите среду выполнения

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет aspnetcore-runtime-6.0, см. раздел об устранении неполадок APT.

❌ Обратите внимание, что эта версия Ubuntu больше не поддерживается.

Откройте терминал и выполните следующие команды:

Установите SDK

Если вы получаете сообщение об ошибке, похожее на Не удалось найти пакет dotnet-sdk-3.1, см. раздел об устранении неполадок APT.

Установите среду выполнения

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет aspnetcore-runtime-3.1, см. раздел об устранении неполадок APT.

❌ Обратите внимание, что эта версия Ubuntu больше не поддерживается.

Откройте терминал и выполните следующие команды:

Установите SDK

Если вы получаете сообщение об ошибке, похожее на Не удалось найти пакет dotnet-sdk-3.1, см. раздел об устранении неполадок APT.

Установите среду выполнения

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет aspnetcore-runtime-3.1, см. раздел об устранении неполадок APT.

❌ Обратите внимание, что эта версия Ubuntu больше не поддерживается.

Откройте терминал и выполните следующие команды:

Установите SDK

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет dotnet-sdk-2.1, см. раздел об устранении неполадок APT.

Установите среду выполнения

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет aspnetcore-runtime-2.1, см. раздел об устранении неполадок APT.

18.04 ✔️

Откройте терминал и выполните следующие команды:

Установите SDK

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет dotnet-sdk-6.0, см. раздел об устранении неполадок APT.

Установите среду выполнения

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет aspnetcore-runtime-6.0, см. раздел об устранении неполадок APT.

❌ Обратите внимание, что эта версия Ubuntu больше не поддерживается.

Откройте терминал и выполните следующие команды:

Установите SDK

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет dotnet-sdk-2.1, см. раздел об устранении неполадок APT.

Установите среду выполнения

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет aspnetcore-runtime-2.1, см. раздел об устранении неполадок APT.

❌ Обратите внимание, что эта версия Ubuntu больше не поддерживается.

Откройте терминал и выполните следующие команды:

Установите SDK

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет dotnet-sdk-2.1, см. раздел об устранении неполадок APT.

Установите среду выполнения

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет aspnetcore-runtime-2.1, см. раздел об устранении неполадок APT.

❌ Обратите внимание, что эта версия Ubuntu больше не поддерживается.

Откройте терминал и выполните следующие команды:

Установите SDK

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет dotnet-sdk-2.1, см. раздел об устранении неполадок APT.

Установите среду выполнения

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет aspnetcore-runtime-2.1, см. раздел об устранении неполадок APT.

16.04 ✔️

Откройте терминал и выполните следующие команды:

Установите SDK

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет dotnet-sdk-6.0, см. раздел об устранении неполадок APT.

Установите среду выполнения

Если вы получаете сообщение об ошибке, похожее на Невозможно найти пакет aspnetcore-runtime-6.0, см. раздел об устранении неполадок APT.

Как установить другие версии

Пакеты, добавляемые в фиды диспетчера пакетов, называются в формате, который можно взломать, например: -- .

версия
Версия пакета SDK или среды выполнения для установки. В этой статье всегда будут даны инструкции для последней поддерживаемой версии. Допустимые варианты: любая выпущенная версия, например:

Примеры

Пакет отсутствует

Устранение неполадок с APT

Не удалось найти пакет

Не удалось найти\Не удалось установить некоторые пакеты

Если вы получаете сообщение об ошибке, похожее на "Не удалось найти пакет" или "Не удалось установить некоторые пакеты", выполните следующие команды.

В следующем наборе команд есть два заполнителя.


Это представляет версию дистрибутива, на которой вы работаете. Это используется в команде wget ниже. Версия дистрибутива — это числовое значение, например 20.04 в Ubuntu или 10 в Debian.

Сначала попробуйте очистить список пакетов:

Не удалось загрузить

Зависимости

Предпосылки

Для этого руководства вам потребуется следующее:

Во-первых, войдите в систему как новый созданный пользователь и убедитесь, что вы находитесь в корневом каталоге:

Затем выполните следующую команду, чтобы зарегистрировать ключ Microsoft и репозиторий продукта:

Используйте dpkg с флагом -i для установки указанного файла:

Чтобы облегчить установку других пакетов, необходимых для вашего приложения, вы установите репозиторий юниверса с помощью следующей команды:

Теперь выполните следующую команду, чтобы загрузить список пакетов из репозиториев и обновить их, чтобы получить информацию о новейших версиях пакетов и их зависимостях:

Вам будет предложено указать размер дополнительных файлов, которые будут установлены. Введите Y и нажмите ENTER, чтобы продолжить.

Шаг 2 — Создание пользователя и базы данных MySQL

В этом разделе вы создадите пользователя сервера MySQL, создадите базу данных для приложения и предоставите новому пользователю все необходимые привилегии для подключения к базе данных из вашего приложения.

Вам будет предложено ввести пароль учетной записи root, установленный во время предварительного обучения.

Далее создайте базу данных MySQL для приложения с помощью:

Вы увидите следующий вывод в консоли:

Вы успешно создали базу данных. Далее вы создадите нового пользователя MySQL, свяжете его с вновь созданной базой данных и предоставите ему все привилегии.

Вы увидите следующий вывод:

Чтобы получить доступ к базе данных или выполнить с ней определенное действие, пользователю MySQL необходимо соответствующее разрешение. На данный момент у администратора фильма нет соответствующих прав доступа к базе данных приложения.

Вы можете изменить это, выполнив следующую команду, чтобы предоставить доступ к movie-admin в MovieAppDb:

Вы увидите следующий вывод:

Теперь вы можете перезагрузить таблицы привилегий, выполнив следующую команду, чтобы применить изменения, которые вы только что сделали с помощью инструкции flush:

Вы увидите следующий вывод:

Вы закончили создание нового пользователя и предоставление прав. Чтобы проверить, на правильном ли пути, выйдите из клиента MySQL:

Войдите снова, используя учетные данные только что созданного пользователя MySQL, и введите соответствующий пароль при появлении запроса:

Убедитесь, что пользователь movie-admin может получить доступ к созданной базе данных, проверьте с помощью:

Вы увидите таблицу MovieAppDb в списке выходных данных:

Теперь выйдите из клиента MySQL:

Вы создали базу данных, создали нового пользователя MySQL для демонстрационного приложения и предоставили только что созданному пользователю права доступа к базе данных. В следующем разделе вы начнете настройку демонстрационного приложения.

Шаг 3. Настройка демонстрационного приложения и учетных данных базы данных

Вы будете использовать Git, чтобы извлечь исходный код этого демонстрационного приложения из GitHub и сохранить его в новом каталоге. Здесь также можно загрузить альтернативное приложение, если вы будете развертывать другое приложение.

Для начала создайте новый каталог с именем movie-app в терминале с помощью следующей команды:

Это будет корневой каталог для вашего приложения.Затем измените владельца папки и группу, чтобы позволить учетной записи пользователя без полномочий root работать с файлами проекта:

Замените sammy своим именем пользователя sudo без полномочий root.

Теперь вы можете перейти в родительский каталог и клонировать приложение на GitHub:

Вы увидите следующий вывод:

Вы успешно клонировали демонстрационное приложение с GitHub, поэтому следующим шагом будет создание успешного подключения к базе данных приложения. Вы сделаете это, изменив свойство ConnectionStrings в файле appsettings.json и добавив сведения о базе данных.

Перейти в каталог приложения:

Теперь откройте файл для редактирования:

Добавьте учетные данные своей базы данных:

После этого вы успешно создали подключение к своей базе данных. Теперь нажмите CTRL+X, чтобы сохранить изменения в файле, и введите Y для подтверждения. Затем нажмите ENTER, чтобы закрыть страницу.

Теперь вы можете обновить свою базу данных таблицами из клонированного демо-приложения. Для этого выполните следующую команду:

Это применит обновление к базе данных и создаст соответствующие схемы.

Теперь, чтобы собрать проект и все его зависимости, выполните следующую команду:

Вы увидите результат, аналогичный следующему:

При этом будет создан проект и установлены все сторонние зависимости, перечисленные в файле project.assets.json, но приложение еще не будет готово к работе. Чтобы подготовить приложение к развертыванию, выполните следующую команду:

Вы увидите следующее:

Установив зависимости, создав подключение к базе данных, обновив базу данных необходимыми таблицами и опубликовав ее для производства, вы завершили настройку этого демонстрационного приложения. На следующем шаге вы настроите веб-сервер, чтобы сделать приложение доступным и безопасным в вашем домене.

Шаг 4 — Настройка веб-сервера

К настоящему моменту, следуя указаниям руководства Как защитить Nginx с помощью Let’s Encrypt, у вас будет блок сервера для вашего домена в /etc/nginx/sites-available/your_domain с уже настроенной директивой server_name. На этом шаге вы отредактируете этот блок сервера, чтобы настроить Nginx в качестве обратного прокси-сервера для вашего приложения. Обратный прокси — это сервер, который находится перед веб-серверами и перенаправляет запросы каждого веб-браузера на эти веб-серверы. Он получает все запросы из сети и перенаправляет их на другой веб-сервер.

Для начала убедитесь, что вы находитесь в корневом каталоге вашего сервера:

Откройте блок сервера для редактирования с помощью:

Продолжите настройку, отредактировав первые два блока в файле, чтобы отразить следующее:

Наконец, следуя за блоком сервера, который вы только что отредактировали в файле, убедитесь, что второй блок сервера выглядит следующим образом:

Затем заставьте Nginx принять изменения, которые вы внесли в блок сервера, выполнив:

Файлы Systemd позволят вам управлять процессом, предоставляя функции запуска, остановки, перезапуска и ведения журнала после создания рабочего процесса, называемого единицей.

Перейдите в каталог systemd:

Создайте новый файл для редактирования:

Добавьте в него следующее содержимое:

Теперь сохраните файл и включите новый сервис фильмов, созданный с помощью:

После этого запустите службу и убедитесь, что она работает, запустив службу:

Затем проверьте его статус:

Вы увидите следующий вывод:

В этих выходных данных содержится обзор текущего состояния службы movie.service, созданной для обеспечения работы вашего приложения. Это указывает на то, что служба включена и в настоящее время активна.

Вы увидите домашнюю страницу демонстрационного приложения – приложения со списком фильмов.

Приложение списка фильмов

При настроенном обратном прокси-сервере и управлении Kestrel через systemd веб-приложение полностью настроено, и к нему можно получить доступ из браузера.

Заключение

Если вы хотите развернуть собственное приложение, вам необходимо рассмотреть другие необходимые процедуры для развертывания вашего приложения. Полный исходный код этого демонстрационного приложения можно найти здесь, на GitHub.

Хотите узнать больше? Присоединяйтесь к сообществу DigitalOcean!

Присоединяйтесь к нашему сообществу DigitalOcean, насчитывающему более миллиона разработчиков, бесплатно! Получайте помощь и делитесь знаниями в нашем разделе "Вопросы и ответы", находите руководства и инструменты, которые помогут вам расти как разработчику и масштабировать свой проект или бизнес, а также подписывайтесь на интересующие вас темы.

Включить WSL 1

В PowerShell от имени администратора запустите:

Если вы устанавливаете только WSL 1, вы можете перезапустить и пропустить следующий шаг.

Если вы устанавливаете WSL 2, не перезапускайте его, перейдите к следующему шагу:

Включить WSL 2 (Windows 10 2004+)

Подробнее об Ubuntu на WSL 2 см. в разделе «Общая доступность Ubuntu на WSL 2».

В PowerShell от имени администратора запустите:

а затем перезапустите Windows:

Установите Ubuntu на WSL

Дополнительные способы установки Ubuntu на WSL см. на вики-странице Ubuntu на WSL.

Установить терминал Windows

Терминал Windows также можно загрузить с GitHub.

Запуск Ubuntu на WSL

Откройте терминал Windows в PowerShell и выполните:

Когда вы запускаете Ubuntu на WSL в первый раз, он устанавливается, а затем вы создаете пользователя Linux. Это отдельно от вашего пользователя Windows.

Выйдите из терминала Windows и снова откройте его. В раскрывающемся списке вы найдете Ubuntu:

Вы можете установить Ubuntu по умолчанию и настроить Windows Terminal в settings.json.

Обновите Ubuntu на WSL

Вам следует периодически проверять наличие обновлений и запускать обновления Ubuntu на WSL. Мы делаем это с помощью apt, менеджера пакетов Ubuntu.

Чтобы проверить наличие обновлений, запустите:

Чтобы запустить обновления:

Вы можете автоматически обновлять и применять любые доступные обновления в одной строке, объединяя их с помощью $& и добавляя флаг -y:

Убедитесь, что вы устанавливаете репозиторий, подходящий для вашей версии Ubuntu. Вы можете проверить текущую версию Ubuntu с помощью:

В приведенном ниже примере используется Ubuntu 20.04, последний выпуск LTS от Canonical. Если вы все еще используете Ubuntu 16.04, 18.04 или 19.10, вы можете найти соответствующие репозитории в документации Microsoft. Чтобы узнать больше о различиях между LTS и промежуточными выпусками, у нас есть страница цикла выпуска.

Загрузите репозиторий Microsoft и пакет ключей для версии 20.04:

Установите пакет репозитория Microsoft вручную, используя dpg -i:

Теперь при обновлении apt вы увидите, что репозиторий Microsoft проверен на наличие обновлений:

Создать рабочую область

Создайте новый каталог для работы и перейдите в него:

Просмотреть содержимое Program.cs:

Запустите пример программы:

Откройте Program.cs в своем любимом редакторе: vi, nano, emacs или Code с удаленным расширением WSL:

Для наших целей мы будем использовать nano, который включен в Ubuntu на WSL:

Это приложение сообщает нам о нашем текущем пользователе, проверяет, используем ли мы Windows или Linux, а затем предоставляет версию ядра ОС.

Выйти, сохранить и запустить с помощью:

Откройте dotnetproject.csproj в нашем редакторе и добавьте:

Создайте наше кроссплатформенное приложение

Автономные двоичные файлы для каждой платформы со всеми необходимыми библиотеками можно найти в папке проекта /bin/:

Тестовая сборка Linux

Вы можете запустить двоичный файл Linux напрямую следующим образом:

Тест сборки Windows

Чтобы запустить сборку Windows, скопируйте ее в файловую систему Windows:

Мы создали и запускаем одно и то же приложение как для Linux, так и для Windows. Мы можем протестировать их одновременно с помощью WSL.

Рабочий стол Ubuntu

Узнайте, как операционная система Ubuntu для настольных ПК обеспечивает работу миллионов компьютеров и ноутбуков по всему миру.

Подписка на рассылку

Похожие записи

Canonical спонсирует WSLConf в штаб-квартире Microsoft

Сегодня Canonical объявляет, что станет официальным спонсором WSLConf, первой конференции, посвященной платформе Windows Subsystem for Linux (WSL).

Анонс Ubuntu в Windows Community Preview — WSL 2

Мы очень рады выпустить предварительную версию Ubuntu для сообщества Windows, специальную сборку Ubuntu для подсистемы Windows для Linux (WSL), которая служит в качестве.

Новые варианты установки для Ubuntu на WSL

Опыт установки Ubuntu в подсистеме Windows для Linux (WSL) становится все лучше. Начиная с Windows 10 Insiders Preview, сборка 20246.

© Canonical Ltd, 2022 г. Ubuntu и Canonical являются зарегистрированными товарными знаками Canonical Ltd.

Чтобы продемонстрировать, как запустить его в Ubuntu 20.04, мы купим виртуальный частный сервер (VPS).

Затем нам нужно настроить наш VPS, что будет сделано с помощью команд SSH.

Зарегистрироваться на хостинге

Мы выбираем A2 Hosting для покупки нашего VPS для веб-хостинга.

A2 Хостинг безлимитные цены на VPS

Безлимитные цены на хостинг A2 VPS. Цены действительны на 29 ноября 2020 г.

План Runaway 1 предлагает нам 1 ГБ ОЗУ, 150 ГБ на SSD, 2 ТБ для передачи и одно ядро.

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

Тогда дело за покупкой VPS.

После покупки я обнаружил, что VPS был настроен за считанные минуты.

Настроить VPS

При настройке VPS нам предоставляется панель управления от A2 Hosting.

Это дает нам такую ​​информацию, как:

  • Информация о сервере
  • Настройте свой хостинг
  • Дополнительная информация, например данные SSH

Кроме того, он сообщает нам, какая операционная система установлена.Оттуда мы можем контролировать, хотим ли мы остановить или запустить VPS, перезапустить VPS или отключить его.

Также предоставляется дополнительная информация, например, сколько места на диске было использовано и сколько ЦП в настоящее время используется.

Информация о VPS-сервере в панели управления хостингом A2

Информация о VPS-сервере в панели управления хостингом A2

Добавить запись A к нашему доменному имени

Следующий шаг — добавить запись A к нашему доменному имени. Запись A будет указывать на IP-адрес VPS.

Но прежде чем мы это сделаем, нам нужно внести изменения и добавить пересылаемые заголовки.

Конечно, запрошенный IP-адрес будет потерян при доступе к серверу Kestrel, поэтому весь смысл пересылаемых заголовков заключается в том, чтобы нести с собой исходный IP-адрес.

Нам нужно перейти в класс Startup и внести изменения для поддержки пересылаемых заголовков.

В Visual Studio 2019 мы идем в Build -> Publish.

Создайте новый профиль и убедитесь, что приложение встроено в папку.

Выполните шаги, чтобы опубликовать приложение в делегированной папке.

Подключение к VPS

Мы будем использовать SSH для подключения к VPS.

В Панели управления хостингом A2 на вкладке "Дополнительная информация" содержится подробная информация о SSH. Щелкнув по значку с изображением глаза, вы увидите пароль для использования SSH.

Информация SSH о хостинге A2 без лимита VPS

Информация по SSH о безлимитном хостинге A2 VPS

Теперь, когда у нас есть данные SSH, нам нужно подключиться к нашему VPS через SSH.

Для этого мы открываем Windows Powershell (в режиме администрирования) и выполняем следующую команду.

Таким образом, в моем случае заполнители будут заменены следующими:

Оттуда он запросит пароль.

Если пароль правильный, мы будем подключены к нашему VPS через SSH.

Добавить нового пользователя

Для этого мы создадим нового пользователя с именем "roundthecode".

Это делается вызовом этой SSH-команды:

Нам будет предложено предоставить этому пользователю пароль и подтвердить его. Все остальные параметры можно оставить пустыми.

Установить программное обеспечение

Нам нужно установить некоторое программное обеспечение.

Nano — это первое программное обеспечение, которое мы будем устанавливать. Nano в основном работает как текстовый редактор в SSH. Мы будем использовать это для создания файлов конфигурации на нашем VPS.

Выполните следующую команду SSH, чтобы установить Nano.

Далее нам нужно установить Apache.

При использовании A2 Hosting Apache уже установлен. Но на других решениях VPS этого могло и не быть.

Чтобы установить Apache, выполните следующую команду SSH.

Оттуда нам нужно установить несколько модов Apache.

Выполните каждую из этих SSH-команд, чтобы установить соответствующие моды.

Последнее, что нам нужно сделать с Apache, это настроить файл конфигурации для запуска нашего приложения.

Выполните следующую команду, чтобы создать файл конфигурации:

Затем добавьте в api.conf следующее содержимое:

После настройки нажмите CTRL + X, чтобы выйти из приложения. Нажмите Y, чтобы сохранить изменения.

Тогда нужно перезапустить Apache. Для этого выполните следующую SSH-команду:

Загрузка приложения

Для загрузки приложения мы будем использовать FileZilla.

В FileZilla нам нужно настроить новый профиль со следующими учетными данными:

  • Протокол: SFTP
  • Хост:
  • Порт: 7822 (такой же, как номер порта SSH)
  • Пользователь:
  • Пароль:

Заполнители и будут заменены пользователем, которого мы создали на VPS ранее в статье.

Скопируйте приложение в /var/www и установите владельца

Следующее, что нам нужно сделать, это установить владельца /var/www/api. Мы собираемся установить его в группу "www-data".

Для этого выполните следующую SSH-команду:

Получение пакетов Microsoft для Ubuntu

Ubuntu необходимо получить список всех пакетов от Microsoft.

Это можно сделать с помощью следующих команд SSH:

Это можно сделать, выполнив следующие SSH-команды:

Добавить услугу

Для этого нам нужно создать новый сервис. Мы можем сделать это с помощью этой SSH-команды:

Затем добавьте в этот файл следующее содержимое:

Параметр ExecStart запускает dotnet и выполняет основной файл DLL для приложения.

Включить и запустить службу

Настроив службу, мы можем включить и запустить ее.

Чтобы включить службу, выполните эту SSH-команду:

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

Чтобы убедиться, что он работает нормально, мы можем запустить эту SSH-команду:

Проверьте, работает ли приложение

Нажмите на доменное имя на вкладке браузера и посмотрите, как работает приложение.

Это также продемонстрировано в нашем руководстве ниже.

Экономия денег на хостинге

Одно из преимуществ запуска веб-приложения в Linux заключается в том, что стоимость веб-хостинга обычно ниже.

Это означает, что нам не нужно платить высокие цены за хостинг Windows. Мы можем выбрать гораздо более доступный сервер Linux.

Читайте также: