-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_NginxHostASPNETCore
nginx ---> Kestrel ---> ASP.NET Coreアプリ
ASP.NET CoreのWebサーバ - マイクロソフト系技術情報 Wiki
- dotnet publishでFDDのアプリケーション・パッケージ生成する。
(ASP.NET Coreのインストールとデプロイを参照) - 既存のASP.NET Coreアプリケーションをnginxリバースプロキシの背後に配置。
- 要求をKestrel Webサーバに転送するようにnginxリバースプロキシを設定。
- Webアプリケーションを起動時にデーモンとして実行する。
- Webアプリケーションの再起動を支援するプロセス管理ツールを設定。
・・・
-
Linuxのsudo 特権
-
インストール&動作確認済みのnginx(nginxのインストール)
-
Linux上で動作確認がとれたASP.NET Coreアプリ
(ASP.NET Coreのインストールとデプロイを参照)
(先ずは、dotnet new mvc(ASP.NET Coreのインストールとデプロイの「サンプル」の該当節を参照)でもOK)
-
既存のASP.NET Coreアプリケーションをnginxリバースプロキシの背後に配置。
- ASP.NET Coreのインストールとデプロイの「Ubuntu」の該当節の手順を参照。
-
要求をKestrel Webサーバに転送するようにnginxリバースプロキシを設定。
-
設定の変更
/etc/nginx/conf.d/default.confserver { listen 80; server_name example.com *.example.com; 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の設定を参照。
- /etc/nginx/nginx.conf
- /etc/nginx/sites-available/default
-
設定のチェック
sudo nginx -t -
設定の反映
sudo nginx -s reload
-
Webアプリケーションを起動時にデーモンとして実行する。
-
systemdのサービス定義ファイルを作成
-
テキスト・エディタで開く
sudo vi /etc/systemd/system/kestrel-hellomvc.service -
以下のように設定する。
[Unit] Description=Example .NET Web API App running on Ubuntu [Service] WorkingDirectory=/var/aspnetcore/hellomvc ※ 実際の値に変更。 ExecStart=/usr/bin/dotnet /var/aspnetcore/hellomvc/hellomvc.dll ※ 実際の値に変更。 Restart=always RestartSec=10 # Restart service after 10 seconds if dotnet service crashes SyslogIdentifier=dotnet-example User=www-data Environment=ASPNETCORE_ENVIRONMENT=Production Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target
-
-
ファイルを保存し、サービスを有効にする。
sudo systemctl enable kestrel-hellomvc.service -
サービスを開始し、実行されていることを確認する。
sudo systemctl start kestrel-hellomvc.service sudo systemctl status kestrel-hellomvc.service -
systemdではなく、supervisordを使用してプロセスを監視するには、
systemdによって、プロセスのイベントは、一元的な履歴に記録される。
-
ログを表示する。
sudo journalctl -fu kestrel-hellomvc.service -
時間オプションでさらに絞り込む
sudo journalctl -fu kestrel-hellomvc.service --since "2016-10-18" --until "2016-10-18 04:00"
Webアプリケーションの再起動を支援するプロセス管理ツールを設定。
・・・。
- ASP.NET Core アプリを Ubuntu サーバーで公開 - Qiita
http://qiita.com/creativewebjp/items/48ede6a3f920ba26ff59
- Nginx 搭載の Linux で ASP.NET Core をホストする
https://docs.microsoft.com/ja-jp/aspnet/core/host-and-deploy/linux-nginx
移行メモ
- 「実⾏されている」に混入していた異体字(U+2F9F「⾏」)を通常の「行」に直した。
- 「時間オプションさらに絞り込む」→「時間オプションでさらに絞り込む」に修正した。
- 元 Wiki では見出しそのものが他ページへのリンクになっていた箇所 (参考の「nginx」「ASP.NET Coreのインストールとデプロイ」)は、 GitHub Wiki では見出しからアンカが生成されるため、 見出しをプレーン・テキストとし、リンクは直下の本文(箇条書き)に置いた。
- 同名の見出し(「手順」)が複数あり GitHub Wiki でアンカが衝突するため、 括弧で文脈を補って一意にした。
- マイクロソフト系技術情報 Wiki(techinfoofmicrosofttech.osscons.jp)への URL リンクは、移行済みの ASP.NET CoreのWebサーバ に張り替えた。
- PukiWiki のページ内アンカ(
#xxxxxxxx)は GitHub Wiki では再現できないため、 他ページのアンカを指すリンクは「〜(ページ名の該当節を参照)」の形に置き換えた。
Tags: 移行, nginx, ASP.NET Core, Kestrel, リバースプロキシ, systemd, Ubuntu, journalctl
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。