このガイドでは、Nginx をリバースプロキシとして使用する Linux (Ubuntu 14.04) で、GeneXus .NET Core ジェネレーターによって生成された本番用の ASP.NET Core アプリケーションをセットアップする方法について説明します。
Linux の要件に関する説明を参照してください。
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 コマンドの出力でポートを確認)
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
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";
}
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 でサイトをテストします。
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
|