最近のアクセス:
Nginx を使用する Linux での ASP.NET Core アプリケーションのホスト

このガイドでは、Nginx をリバースプロキシとして使用する Linux (Ubuntu 14.04) で、GeneXus .NET Core ジェネレーターによって生成された本番用の ASP.NET Core アプリケーションをセットアップする方法について説明します。

Linux 上で .NET Core を使用する場合の要件

Linux の要件に関する説明を参照してください。

Ubuntu 14.04 向けの .NET Core のインストール

1.Microsoft の製品キーを信頼済みとして登録します。
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
2.希望するバージョンのホスト パッケージ フィードをセットアップします。
sudo sh -c 'echo "deb  [ arch=amd64 ]  https://packages.microsoft.com/repos/microsoft-ubuntu-trusty-prod trusty main" > /etc/apt/sources.list.d/dotnetdev.list' 
sudo apt-get update
3..NET Core をインストールします。
sudo apt-get install dotnet-sdk-3.1.1
5. dotnet --version コマンドを実行して、インストールが成功したことを確認します。
dotnet --version

アプリケーションのコピー

Web ディレクトリーに置かれたコマンドライン (または同等の場所) から次を実行します:
dotnet bin/GxNetCoreStartup.dll
次のようにアプリケーションをテストできます: http://localhost:5000/Webpanel1.aspx (dotnet コマンドの出力でポートを確認)

リバース プロキシ サーバーとしての Nginx の設定

sudo apt-get install nginx
2.次を実行して起動します:
sudo service nginx start
3. Nginx を設定します。
Nginx をリバースプロキシとして設定し、リクエストを ASP.NET Core アプリケーションに転送するには、/etc/nginx/sites-available/default を変更します。テキストエディターで開き、内容を次のように置き換えます。
server { listen 80; 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 $http_host; proxy_cache_bypass $http_upgrade; } }
この Nginx 設定ファイルは、受信したパブリックトラフィックをポート 80 からポート 5000 に転送します。
Nginx 設定が確立したら、sudo nginx -t を実行して、設定ファイルの構文を確認します。設定ファイルのテストが成功した場合は、次を実行して Nginx が変更を取得するようにします: sudo nginx -s reload
 

WebSocket の有効化

Nginx で WebSocket を有効化するには、次の設定が必要です:
location /gxwebsocket.svc {
         proxy_pass http://localhost:5000/gxwebsocket.svc;
         proxy_http_version 1.1;
         proxy_set_header Upgrade $http_upgrade;
         proxy_set_header Connection "upgrade";
      }
 

Nginx を使用した、1 つのドメインでの複数アプリケーション

SmallDemo0 と SmallDemo1 という 2 つのアプリケーションがあり (*)、その両方を同じサーバー上でホストし、http://localhost/SmallDemo0/WebPanel1.aspx と http://localhost/SmallDemo1/WebPanel1.aspx でアクセスするとします。
(*) 例: /home/deploy/dev/dotnet/SmallDemo0 および /home/deploy/dev/dotnet/SmallDemo1
1.両方のポートを処理するように Nginx を設定します。/etc/nginx/sites-available/default をテキストエディターで開き、内容を次のように置き換えます:
server {
    listen 80;
    # Make site accessible from http://localhost/
    server_name localhost;
     location /SmallDemo0/ {
           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;
    }
    location /SmallDemo1/ {
           proxy_pass http://localhost:5001/;
           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;
    } 
}
Nginx 設定が確立したら、sudo nginx -t を実行して、設定ファイルの構文を確認します。設定ファイルのテストが成功した場合は、次を実行して Nginx が変更を取得するようにします: sudo nginx -s reload
または、次を実行して起動します: 
sudo service nginx start
 
2.次のコマンドを使用してアプリケーションを実行します:
/home/deploy/dev/dotnet/SmallDemo1$ dotnet bin/GxNetCoreStartup.dll "" /home/deploy/dev/dotnet/SmallDemo1 5001

/home/deploy/dev/dotnet/SmallDemo0$ dotnet bin/GxNetCoreStartup.dll "" /home/deploy/dev/dotnet/SmallDemo0 5000

http://localhost/SmallDemo0/WebPanel1.aspx と http://localhost/SmallDemo1/WebPanel1.aspx でサイトをテストします。
 
 

異なる BaseURL を使用した別の有効な設定の例 (最終的には同じ URL を取得):

1.Nginx 用に設定します。
server {
    listen 80;
    # Make site accessible from http://localhost/
    server_name localhost;
     location /SmallDemo0/ {
           proxy_pass http://localhost:5000/SmallDemo0/;
           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;
    }
    location /SmallDemo1/ {
           proxy_pass http://localhost:5001/SmallDemo1/;
           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;
    } 
}
2.コマンドを実行します:
/home/deploy/dev/dotnet/SmallDemo1$ dotnet bin/GxNetCoreStartup.dll "SmallDemo1" /home/deploy/dev/dotnet/SmallDemo1 5001

/home/deploy/dev/dotnet/SmallDemo0$ dotnet bin/GxNetCoreStartup.dll "SmallDemo0" /home/deploy/dev/dotnet/SmallDemo0 5000
3.http://localhost/SmallDemo0/WebPanel1.aspx と http://localhost/SmallDemo1/WebPanel1.aspx でサイトをテストします。
 
 
GxNetCoreStartup.dll には 3 つのパラメーターがあります。 
1.仮想ディレクトリー (または BaseURL)
2.物理アプリケーションパス
手順 3 -ポート
既定値は次のとおりです:
1.Empty
2.dotnet コマンドを実行する現在のディレクトリー
手順 3 -80



サブページ
Created: 20/01/08 20:08 by Admin Last update: 21/10/28 23:30 by Admin
カテゴリ
Powered by GXwiki 3.0