弊社技術顧問増田智明著 ASP.NET MVCプログラミング入門(Amazon)
今回はローカルで作成した.NET Coreで作ったアプリをサーバで動かす手順の御紹介です!今回は環境まで構築します。お手本として弊社技術顧問の増田氏の本を参考にしております。
環境
- CentOS7
.NET Core SDKのインストール
1 2 3 4 5 6 7 8 |
# sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm Retrieving https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm warning: /var/tmp/rpm-tmp.zFvHhj: Header V4 RSA/SHA256 Signature, key ID be1229cf: NOKEY Preparing... ################################# [100%] Updating / installing... 1:packages-microsoft-prod-1.0-1.el7################################# [100%] |
1 2 3 |
# yum update # yum install dotnet-sdk-2.1 # yum install libunwind libicu |
環境情報の確認
1 2 |
# dotnet --version 2.1.401 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# dotnet --info output: .NET Core SDK (reflecting any global.json): Version: 2.1.401 Commit: 91b1c13032 Runtime Environment: OS Name: centos OS Version: 7 OS Platform: Linux RID: centos.7-x64 Base Path: /usr/share/dotnet/sdk/2.1.401/ Host (useful for support): Version: 2.1.3 Commit: 124038c13e .NET Core SDKs installed: 2.1.401 [/usr/share/dotnet/sdk] .NET Core runtimes installed: Microsoft.AspNetCore.All 2.1.3 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All] Microsoft.AspNetCore.App 2.1.3 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 2.1.3 [/usr/share/dotnet/shared/Microsoft.NETCore.App] To install additional .NET Core runtimes or SDKs: https://aka.ms/dotnet-download |
展開しましょう。
1 |
# unzip app-123hoge.zip |
1 |
# cd /root/app-123hoge/Cool.Server |
1 |
# dotnet publish -c Release |
ディレクトリを作成
1 |
# mkdir -p /var/netcoreapp/Cool.Server |
ファイルをコピーします
1 |
# cp -R /root/app-123hoge/Cool.Server/bin/Release/netcoreapp2.0/publish/* /var/netcoreapp/Cool.Server/ |
権限設定
1 2 |
# useradd -s /sbin/nologin dotnetuser # chown -R dotnetuser /var/netcoreapp/ |
任意のユーザにして下さいね!
Systemd化しよう
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# vi /etc/systemd/system/Cool.Server.service [Unit] Description=.NET Core Cool.Server DefaultDependencies=no Wants=network.target After=network.target [Service] Type=oneshot RemainAfterExit=no ExecStart=/usr/bin/dotnet Cool.Server.dll ←プロジェクトのdll名を記述して下さいね! SyslogIdentifier=Cool.Server WorkingDirectory=/var/netcoreapp/Cool.Server ←プロジェクトのパスを記述して下さいね! User=dotnetuser Group=dotnetuser Environment=ASPNETCORE_ENVIRONMENT=Production KillMode=process [Install] WantedBy = multi-user.target |
1 2 |
# systemctl daemon-reload # systemctl enable usb-blocker-serverd |
1 |
# reboot now |
お疲れ様です。