Jak na Ubuntu zprovoznit Blazor Server?
ChatGPT řekl:
Pro spuštění Blazor Server aplikace na Ubuntu, budete muset mít nainstalováno .NET SDK a nějaký webový server pro hostování aplikace (např. Kestrel nebo Nginx). Zde je krok za krokem návod:
1. Instalace .NET SDK
Blazor Server aplikace je postavena na .NET, takže nejprve musíte nainstalovat .NET SDK.
-
Otevřete terminál a přidejte repozitář Microsoftu:
wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
-
Aktualizujte seznam balíčků:
sudo apt-get update
-
Instalujte .NET SDK:
sudo apt-get install -y dotnet-sdk-7.0
(Verze
7.0je aktuální verze, ale můžete nahradit číslo verze podle potřeby.)
2. Vytvoření a spuštění Blazor Server aplikace
-
Vytvořte novou Blazor Server aplikaci:
Pokud ještě nemáte aplikaci, můžete ji vytvořit pomocí následujícího příkazu:dotnet new blazorserver -o MyBlazorApp
cd MyBlazorApp
-
Spusťte aplikaci:
Chcete-li aplikaci spustit lokálně, použijte:dotnet run
Tím spustíte aplikaci na výchozím portu (obvykle
http://localhost:5000). Měli byste vidět výstup v terminálu, který vás informuje o tom, že aplikace běží, a můžete ji navštívit ve webovém prohlížeči.
3. (Volitelné) Nastavení pro produkci
Pokud chcete aplikaci nasadit do produkce, můžete použít Kestrel jako webový server nebo ji nasadit na Nginx jako reverzní proxy.
A) Použití Kestrel pro produkci
Pokud chcete použít Kestrel, jednoduše spustíte aplikaci bez výše uvedeného dotnet run, ale s použitím příkazu pro nasazení:
-
Vytvořte vydání aplikace:
dotnet publish -c Release -o /var/www/myblazorapp
-
Spusťte aplikaci pomocí Kestrelu:
dotnet /var/www/myblazorapp/MyBlazorApp.dll
To spustí aplikaci na výchozím portu. Pro větší robustnost doporučuji použít systémový procesní správce, jako je
systemd, pro správu aplikace na pozadí.
B) Použití Nginx jako reverzní proxy
Pokud chcete použít Nginx jako reverzní proxy, postupujte podle těchto kroků:
-
Instalujte Nginx:
sudo apt-get install nginx
-
Upravte konfiguraci Nginx pro reverzní proxy. Otevřete konfigurační soubor Nginx:
sudo nano /etc/nginx/sites-available/default
-
Přidejte nastavení pro reverzní proxy. Ujistěte se, že máte následující konfiguraci:
server {
listen 80;
server_name your_domain_or_ip;location / {
proxy_pass http://localhost:5000; # Kestrel běží na tomto portu
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
-
Restartujte Nginx:
sudo systemctl restart nginx
A to je vše! Vaše Blazor Server aplikace by měla být nyní přístupná přes Nginx na portu 80 (nebo na portu, který jste specifikovali).
Pokud máte nějaké konkrétní problémy během tohoto procesu, dejte mi vědět!