C# .NET Core + Linux環境

こんばんは。今回は前回作成したWindows上で作成したWebアプリをLinux環境にデプロイしてみます。

Linux環境インストール

AWS EC2でUbuntu18.04のインスタンス起動します。.NETCoreは下記のサイトを参考にしてインストールしました。

公式ドキュメント

Runtimeには、dotnet-runtime-3.0とaspnetcore-runtime-3.0となっているが依存関係があって結局dotnet-hostとdotnet-hostfxrもインストールしました。

これでLinux上でもdotnetコマンドが実行できるようになります。こんな感じです。

 

Nginxのインストール

Apacheでも良かったのですが、今回はすぐに動かせるNginxをインストールしました。/etc/nginx/site-available/defaultを変更します。

 

アプリケーションの発行

Windows上の開発環境から「dotnet publish –configuration Release」とターミナルでコマンドを打ちます。プロジェクトフォルダのbin/Release/netcoreapp3.0/publish配下にファイルが作成されます。これをまとめてLinux環境に転送します。

転送後は解凍して、/var/www/SampleApp配下に移動させます。ファイルの権限はwww-data:www-dataに変更しています。

 

まず「sudo service nginx start」でnginxを起動します。次に「dotnet Sample.dll」でアプリケーションを起動します。起動時のログが表示されます。

あとはブラウザから「http://[EC2のパブリックDNS]/」でアクセスすると前回ローカルで動かしたときと同じ画面が確認できます。(EC2のインバウンドのルールは変更してください)

 

おわりに

Windows上で作成した.NETCoreのアプリをLinux環境で動作することを確認しました。思っていた以上に簡単に動作させることができました。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です