Web アプリ(Blazor の Server プロジェクト)を Web サーバーでホストする場合、サーバー側に Microsoft Edge WebView2 ランタイムは不要です。 ただし、Windows Server 上で WPF / WinForms 版のクライアントアプリ や デザイナ を動かす場合は別途 WebView2 ランタイムのインストールが必要です(Windows Server は標準では未搭載)。詳細は Visual Studio ソリューションおよびデプロイ — デプロイ先 PC の前提 を参照してください。
直接にサーバーへ発行するオプションもありますが、ここではフォルダを選び、のちにサーバーへコピーするとします。

これでデプロイに必要なファイルがビルドされ、指定の場所に保存されます。
また、この画面でターゲットランタイム等の設定も可能です。ここでの説明は省略します。

サーバーの種類によってコピー先は異なります。サーバーのドキュメントをご参照ください。
デザインプロジェクトの場所、ConnectionString、画像等のファイル保存場所の設定が必要になります。 設定方法はデプロイ先のサーバーの種類によってことなりますが、おおよそ2種類あります。
また、Pathを記入する際にサーバー上のファイルシステム絶対パス例:C:\\Deploy\\Data、サーバーでの相対パス例:wwwroot/Data/Designがあります。相対パスの場合は、上記Publishフォルダをルートとします。
DesignFileDirectory設定(モジュール、サイドバー等のデータの場所、必須)
"DesignFileDirectory": "wwwroot/serverdata/Designs", "DataSources": [
{
"Name": "SampleSQLite",
"DataSourceType": "SQLite"
}
],
"ConnectionStrings": {
"Main": "",
"SampleSQLite": "Data Source=wwwroot/serverdata/Data/sqlite_sample.db;Version=3;"
}"FileStorages": [
{
"Name": "Local",
"FileStorageType": "FileSystem",
"Directory": "wwwroot/serverdata/Storages"
}
]appsettings.jsonに上記の一部の設定を置かずにサーバー側で設定する場合もあります。下記例をもって説明します。
デプロイフォルダをIISの物理パスへコピーした後、DesignFileDirectory及びConnectionStringをIISの環境変数へ登録する場合は下図のように設定します。
ターゲットサイト → 構成エディター → セッション:System.webServer/aspNetCore → environmentVariables

2. Designerがデプロイしたファイル: デフォルトとして開発機のC:\Codeer.LowCode.Blazor.Local下にあるファイルを/var/www/publish/wwwroot/serverdataにコピーします。
この際はappsettings.jsonでも "DesignFileDirectory": "wwwroot/serverdata/Designs",になっていることを確認します。
コピー後はフォルダーに適宜なアクセス権限を設定してください。
sudo nano /etc/systemd/system/blazorapp.service[Unit]
Description=BlazorApp
[Service]
WorkingDirectory=/var/www/publish
ExecStart=/usr/bin/dotnet /var/www/publish/MyLowCodeApp.Server.dll
Restart=always
RestartSec=10
SyslogIdentifier=blazorapp
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.targetsudo nano /etc/nginx/sites-available/defaultここでの設定変更は最小限としています。 BlazorのNginxの設定についてはマイクロソフトのドキュメントをご参考ください。
server {
listen 80 default_server;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ /index.html =404;
proxy_pass http://localhost:5000;
}
}sudo systemctl start blazorapp
sudo systemctl enable blazorapp
sudo systemctl restart nginxこれでNginxの80ポートを経由してBlazorAppをアクセスできます。
