「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
- .NET CoreをLinux上にインストールして、
- ASP.NET Coreアプリをビルド、デプロイ、実行する。
全容 †
ASP.NET Coreのデプロイ - マイクロソフト系技術情報 Wiki
仕組 †
コチラを参照。
サンプル †
dotnet new mvc †
Linux上でdotnet new mvcで生成。
Visual Studioのテンプレート †
テンプレートを以下のように最小化。
ASP.NET CoreのSCDは2.1からサポート †
ASP.NET Core 2.0 で自己完結型の展開 (SCD) を実行する場合、
現時点では Razor ビューのプリコンパイルを使用できません。
この機能は 2.1 のリリース時に SCD で使用可能になります。
CentOS †
CentOS上でビルドして動かす(FDD & SCD)。 †
dotnet new mvcで生成したものをビルド・実行 †
- FDD
- 生成・ビルド
$ dotnet new mvc
Getting ready...
The template "ASP.NET Core Web App (Model-View-Controller)" was created successfully.
This template contains technologies from parties other than Microsoft, see https://aka.ms/template-3pn for details.
Processing post-creation actions...
Running 'dotnet restore' on ・・・/mvc/mvc.csproj...
Restoring packages for ・・・/mvc/mvc.csproj...
Restoring packages for ・・・/mvc/mvc.csproj...
Restore completed in 1.3 min for ・・・/mvc/mvc.csproj.
Generating MSBuild file ・・・/mvc/obj/mvc.csproj.nuget.g.props.
Generating MSBuild file ・・・/mvc/obj/mvc.csproj.nuget.g.targets.
Restore completed in 1.52 min for ・・・/mvc/mvc.csproj.
Restore succeeded.
Visual Studioで生成したものをビルド・実行 †
Windows上でビルドしたものを動かす。 †
FDD †
- 実行
[xxxxx WebApplication1]$ dotnet run ・・・・・・ASP.NET アプリ起動
Using launch settings from ・・・/WebApplication1/WebApplication1/Properties/launchSettings.json...
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0]
User profile is available. Using '/・・・.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest.
Hosting environment: Development
Content root path: ・・・/WebApplication1/WebApplication1
Now listening on: http://localhost:52013
Application started. Press Ctrl+C to shut down.
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET http://localhost:52013/
info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
Executing action method WebApplication1.Controllers.HomeController.Index (WebApplication1) with arguments ((null)) - ModelState is Valid
info: Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ViewResultExecutor[1]
Executing ViewResult, running view at path /Views/Home/Index.cshtml.
info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[2]
Executed action WebApplication1.Controllers.HomeController.Index (WebApplication1) in 10159.7952ms
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Request finished in 10942.7977ms 200 text/html; charset=utf-8
- 確認
[xxxxx ~]$ curl http://localhost:52013
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Home Page - WebApplication1</title>
<link rel="stylesheet" href="/lib/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="/css/site.css" />
</head>
<body>
<div class="container body-content">
<label for="z_aaa___bbb___ccc__">["aaa","bbb","ccc"]</label>;
<hr />
<footer>
<p>© 2018 - WebApplication1</p>
</footer>
</div>
<script src="/lib/jquery/dist/jquery.js"></script>
<script src="/lib/bootstrap/dist/js/bootstrap.js"></script>
<script src="/js/site.js?v=ji3-IxbEzYWjzzLCGkF1KDjrT2jLbbrSYXw-AhMPNIA"></script>
</body>
</html>
SCD †
ASP.NET CoreのSCDは2.1からサポート
Ubuntu †
Ubuntu上でビルドして動かす(FDD & SCD)。 †
dotnet new mvcで生成したものをビルド・実行 †
- FDD
- 生成・ビルド
:~$ mkdir mvc
:~$ cd mvc
:~/mvc$ dotnet new mvc
The template "ASP.NET Core Web App (Model-View-Controller)" was created successfully.
This template contains technologies from parties other than Microsoft, see https://aka.ms/template-3pn for details.
Processing post-creation actions...
Running 'dotnet restore' on ・・・/mvc/mvc.csproj...
Restoring packages for ・・・/mvc/mvc.csproj...
Restore completed in 9.08 sec for ・・・/mvc/mvc.csproj.
Generating MSBuild file ・・・/mvc/obj/mvc.csproj.nuget.g.props.
Generating MSBuild file ・・・/mvc/obj/mvc.csproj.nuget.g.targets.
Restore completed in 29.34 sec for ・・・/mvc/mvc.csproj.
Restore succeeded.
Visual Studioで生成したものをビルド・実行 †
Windows上でビルドしたものを動かす。 †
FDD †
- 実行
:~/WebApplication1/WebApplication1$ dotnet run
Using launch settings from ・・・/WebApplication1/WebApplication1/Properties/launchSettings.json...
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0]
User profile is available. Using '・・・.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest.
Hosting environment: Development
Content root path: ・・・/WebApplication1/WebApplication1
Now listening on: http://localhost:52013
Application started. Press Ctrl+C to shut down.
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET http://localhost:52013/
info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
Executing action method WebApplication1.Controllers.HomeController.Index (WebApplication1) with arguments ((null)) - ModelState is Valid
info: Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ViewResultExecutor[1]
Executing ViewResult, running view at path /Views/Home/Index.cshtml.
info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[2]
Executed action WebApplication1.Controllers.HomeController.Index (WebApplication1) in 12571.0289ms
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Request finished in 13754.7828ms 200 text/html; charset=utf-8
- 確認
:~$ curl http://localhost:52013
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Home Page - WebApplication1</title>
<link rel="stylesheet" href="/lib/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="/css/site.css" />
</head>
<body>
<div class="container body-content">
<label for="z_aaa___bbb___ccc__">["aaa","bbb","ccc"]</label>;
<hr />
<footer>
<p>© 2018 - WebApplication1</p>
</footer>
</div>
<script src="/lib/jquery/dist/jquery.js"></script>
<script src="/lib/bootstrap/dist/js/bootstrap.js"></script>
<script src="/js/site.js?v=ji3-IxbEzYWjzzLCGkF1KDjrT2jLbbrSYXw-AhMPNIA"></script>
</body>
</html>
:~$
SCD †
ASP.NET CoreのSCDは2.1からサポート
...で動作させる。 †
Webサーバ上で動作させる。 †
Apache †
コチラを参照。
デバッグ †
(ローカルで)デバッグ †
- 全部Linux上でやる。
- 機会があったら調べる。
- k8s上でトラブルシュートとか?
参考 †
athome-developer's blog †
osscons.jp †
マイクロソフト系技術情報 Wiki †