Skip to content

Развёртывание лабы (Linux)

Fasjeit edited this page Sep 7, 2024 · 16 revisions

1. Установка Git

sudo apt install git

2. Установка .net core

https://docs.microsoft.com/ru-ru/dotnet/core/install/linux-ubuntu

3. Копипаста с гита, cборка и установка:

git clone https://github.com/CryptoCourse/CryptoLabs.git
cd ./CryptoLabs/src/
dotnet publish --configuration Debug
cd ./CryptoLabsService/bin/Debug/net8.0/publish

4. Запуск:

./CryptoLabsService

Будет доступен только localhost адрес. Локальный порт будет указан в консоли.

Now listening on: http://localhost:50412

5 (ОПЦИОНАЛЬНО). Установка nginx для переброски портов:

sudo -s
nginx=stable # use nginx=development for latest development version
add-apt-repository ppa:nginx/$nginx
apt-get update
apt-get install nginx

sudo service nginx start

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

http://<server_IP_address>/index.nginx-debian.html

Чтобы настроить Nginx как обратный прокси-сервер для перенаправления запросов в наше приложение ASP.NET Core, измените файл /etc/nginx/sites-available/default. Откройте этот файл в текстовом редакторе и замените его содержимое на следующий код.

server {
    listen        80;
    server_name   example.com *.example.com;
    location / {
        proxy_pass         http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection keep-alive;
        proxy_set_header   Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
}

Установив конфигурацию Nginx, выполните команду

sudo nginx -t 

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

sudo nginx -s reload

Ссылки:

https://docs.microsoft.com/ru-ru/dotnet/core/linux-prerequisites?tabs=netcore2x

https://docs.microsoft.com/ru-ru/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-2.1&tabs=aspnetcore2x

Проброска портов в коде:

https://github.com/aspnet/KestrelHttpServer/issues/639