Show/Hide Toolbars

Руководство по тех. обслуживанию

Сервер приложений на Ubuntu

Данная инструкция актуальна для версии OS Ubuntu не ниже 20.04.3 LTS

1. Подготовка сервера к работе

 

Установка .NET 5.0

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

wget https://packages.microsoft.com/config/ubuntu/21.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb

sudo dpkg -i packages-microsoft-prod.deb

rm packages-microsoft-prod.deb

 

Установка SDK

Если вы уже установили пакет SDK или среду выполнения, с помощью команд dotnet --list-sdks и dotnet --list-runtimes узнайте, какие версии у вас установлены.

Пакет SDK для .NET позволяет разрабатывать приложения с помощью .NET. Если вы устанавливаете пакет SDK для .NET, вам не нужно устанавливать соответствующую среду выполнения. Чтобы установить пакет SDK для .NET, выполните следующие команды:

sudo apt-get update; \

 sudo apt-get install -y apt-transport-https && \

 sudo apt-get update && \

 sudo apt-get install -y dotnet-sdk-5.0

 

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

Следующие команды устанавливают среду выполнения ASP.NET Core, которая является наиболее совместимой средой выполнения для .NET. В терминале выполните следующие команды:

 sudo apt-get update; \

 sudo apt-get install -y apt-transport-https && \

 sudo apt-get update && \

 sudo apt-get install -y aspnetcore-runtime-5.0

 

В качестве альтернативы среде выполнения ASP.NET Core вы можете установить среду выполнения .NET, которая не включает поддержку ASP.NET Core: замените aspnetcore-runtime-5.0 в предыдущей команде на dotnet-runtime-5.0:

sudo apt-get install -y dotnet-runtime-5.0

 

Установка Nginx

Поскольку Nginx доступен в репозиториях Ubuntu по умолчанию, его можно установить из этих репозиториев с помощью системы пакетов apt.

Так как это первое наше взаимодействие с системой пакетов apt в этом сеансе, мы также обновим индекс локальных пакетов, чтобы получить доступ к актуальным спискам пакетов. Затем мы можем выполнить установку nginx:

sudo apt update

sudo apt install nginx

После принятия процедуры apt выполнит установку Nginx и других требуемых зависимостей на ваш сервер.

Используйте команду systemd init system, чтобы проверить работу службы:

systemctl status nginx

Вы можете протестировать запуск службы посредством запроса страницы из Nginx.

Для этого откройте страницу Nginx по умолчанию, чтобы подтвердить работу программного обеспечения через IP-адрес вашего сервера. Введите IP-адрес вашего сервера в адресную строку браузера:

http://your_server_ip

Вы должны получить начальную страницу Nginx по умолчанию:

ndinx

Страница Nginx по умолчанию

Если вы находитесь на этой странице, ваш сервер работает корректно и готов к управлению.

2. Создание каталога для приложений 1Форма

 

Чтобы создать каталог для приложений 1Форма введите команду:

mkdir -R /src/1forma

Скачайте файлы приложения на сервер и поместите их в каталог /src/1forma

Каталог с фронтендом:

spa >> /src/1forma/spa

NetCore приложение:

cp your_dir/net_core_app /src/1forma/net_core_app

3. Создание службы приложения 1forma_net_core_app

 

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

vim /etc/systemd/system/1forma_net_core_app.service

Далее для добавления в автозапуск и активации службы выполните следующие команды:

systemctl daemon-reload

systemctl enable 1forma_net_core_app.service

systemctl start 1forma_net_core_app.service

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

systemctl status 1forma_net_core_app.service

По умолчанию NetCore приложение доступно по следующему пути: https://localhost:6000

В конфигурационном файле appsettings.json могут быть указаны другие порт и протокол.

4. Настройка Nginx

 

Создайте конфигурационный файл и настройте его следующим образом:

vim /etc/nginx/conf.d/1forma_net_core_app.config

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

ssl_certificate /src/crt/cert.crt;

ssl_certificate_key /src/crt/cert.key;

Далее укажите путь, по которому доступно NetCore приложение:

proxy_pass https://127.0.0.1:6000;

Проверить корректность настройки nginx и перезапустить службу можно следующим образом:

nginx -t

systecmtl restart nginx