Sunuer

Sunuer Manage Sunuer Easy 周辺
環境のデプロイ

準備作業

1.NET SDK >= 8.0  ダウンロード先:https://dotnet.microsoft.com/zh-cn/download

2.Visual Studio2022  ダウンロード先:https://visualstudio.microsoft.com/

3.SQL Server >= 2019   ダウンロード先:https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads

4.SQL Server Management Studio ダウンロード先:https://learn.microsoft.com/zh-cn/sql/ssms/

必要な設定

ルートディレクトリの appsettings.json ファイルにて

"ConnectionStrings": {
  "DefaultConnection": "Server=nhdSQLEXPRESS;Database=SunuerManage;User Id=sa;Password=123456;MultipleActiveResultSets=true;TrustServerCertificate=True;Max Pool Size=100;Min Pool Size=5;Pooling=true;"
},

Server=nhd/SQLEXPRESS: 接続先のデータベースサーバーおよびインスタンス名を指定。

Database=SunuerManage: 接続先の既定データベース名を指定。

User Id=sa; Password=123456: SQL Serverにログインするための資格情報(ユーザー名とパスワード)。

MultipleActiveResultSets=true: 同一のデータベース接続(セッション)で複数のデータ読み取り操作を同時に行えるようにします。例えば、一方のクエリがデータを読み込み中に、別のクエリを同時に実行できます。特にEntity Framework利用時、一つの接続でデータを繰り返し読み込みながら他の操作をする場合、このパラメータを true にする必要があります。

TrustServerCertificate=True: TLS/SSLを使用してSQL Serverへ暗号化接続を行う際、サーバーが提供する証明書を信頼するかどうかを指定。Trueに設定すると、証明書が信頼できる認証局によって署名されていない場合や、他の検証問題がある場合でも、強制的に信頼して暗号化接続を確立します。セキュリティ上の注意:本番環境で自己署名証明書または非公的な証明書を使う場合、このオプションは接続を可能にしますがセキュリティリスクが伴います。要件に応じて慎重に設定してください。

Max Pool Size=100; Min Pool Size=5; Pooling=true: データベース接続プール(Connection Pool)の動作を制御します。

Pooling=true: 接続プールを有効化し、アプリケーションが頻繁にデータベースにアクセスする際にパフォーマンスを向上させ、接続のオープン/クローズ処理を繰り返すコストを削減します。

Max Pool Size=100: プールに保持できるアイドル接続の最大数。この数を超えると、新規接続要求はプール内の接続が解放されるまで待機するか、設定によっては例外をスローします。

Min Pool Size=5: プールに保持されるアイドル接続の最小数。アプリケーションがデータベースに初めて接続する際、あらかじめ5つの接続を作成して待機させ、後続の要求に素早く対応します。


システムの起動:

ダウンロード&解凍後:

Data フォルダ内にある SunuerManage.sql ファイルを SQL Server データベースで復元します。

Visual Studio で SunuerManage.sln ファイルを開き、appsettings.json 設定ファイルを修正してから 実行 をクリック  。

次のページが表示されます:

ブラウザで http://localhost:5021 を入力し、ページが正常に表示されれば設定が完了しています。

バックエンドのログインページ:http://localhost:5021/Manage/Login

ユーザー:niqiu

パスワード:123456


システムのデプロイ

公開(Publish)

Visual Studio でプロジェクト名を右クリックし、「発行」を選択して必要なファイルを生成します。

サーバーへデプロイ

手法 A:Windows IIS へのデプロイ

IIS と .NET 拡張機能のインストール


「サーバーマネージャー」で「Web サーバー (IIS)」の役割を追加します。

「.NET Core Hosting Bundle / 拡張機能」をインストールして、IIS が .NET アプリをホストできるようにします。

Web サイトの作成

IIS マネージャーで「サイト」を右クリックし、「Web サイトの追加」を選択。物理パスを先ほど発行したフォルダ (publish) に設定します。

ポート(デフォルトは 80)またはドメインは必要に応じてカスタマイズできます。

アプリケーション プールの設定

新規または既存のアプリケーション プールを選択し、.NET CLR バージョンは「No Managed Code」またはインストールしているバージョンを指定し、パイプライン モードは「統合」を選択します。

「ID」が発行フォルダとデータベースにアクセスできる権限を持っていることを確認します(Windows 認証を使用する場合には特に注意)。

テストアクセス

IIS を起動し、設定したドメインまたは IP にアクセスし、Sunuer Manage が正常に動作するかを確認します。

「500 エラー」が発生する場合は、IIS のログまたはアプリケーション イベントログを確認して原因を特定します。


手法 B:Linux 環境へのデプロイ(Nginx でリバースプロキシを使用)

.NET ランタイムのインストール

Linux 環境(Ubuntu / CentOS / Debian など)で、対応するバージョンの .NET SDK/Runtime をインストールする。

発行したファイルをコピー

publish フォルダをサーバー(例: /var/www/sunuer ディレクトリ)にアップロード。

該当ディレクトリに移動して、dotnet SunuerManage.dll(例)を実行し、正常に起動するかテスト。

Nginx の設定

/etc/nginx/sites-available/ ディレクトリに設定ファイル(例: sunuer.conf)を作成。例:

 

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass         http://127.0.0.1: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;
    }
}

アプリケーションがリッスンしているポート(デフォルトは 5000)にリクエストを転送します。ポート番号は appsettings.json またはコマンドライン引数で指定可能です。