こんばんは。今回は前回作成した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環境で動作することを確認しました。思っていた以上に簡単に動作させることができました。