🔖
Unity+MagicOnion4.1.xを試す サーバーをEC2環境で動かす編
チャプター
まえがき
- StreamingHubでのリアルタイム通信編の続きになります
- 環境構築、前提等は上記の記事を参照してください
サーバーアプリのビルド
$ dotnet publish --configuration Release
MyApp-Server -> D:\MagicOnion\MyApp\MyApp-Server\bin\Release\net5.0\MyApp-Server.dll
MyApp-Server -> D:\MagicOnion\MyApp\MyApp-Server\bin\Release\net5.0\publish\
- 後ほど、
MyApp\MyApp-Server\bin\Release\net5.0
配下をEC2に持っていく
EC2の構築
環境
- t2.micro
- Amazon Linux2
- セキュリティグループの設定漏れで接続出来ないとかありがちなので注意
.NET SDKの追加
$ sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
$ sudo yum install -y dotnet-sdk-5.0
サーバーアプリのデプロイ
- サーバーアプリのビルドで作成したディレクトリをデプロイする
- デプロイ方法はお好みで(とりあえずscpとかなんでも)
- ここでは
/var/www/onion
にアプリを配置
$ sudo mkdir -p /var/www/onion
Nginxの追加
$ sudo amazon-linux-extras enable nginx1
$ sudo yum install nginx
Nginxの設定
$ sudo vim /etc/nginx/conf.d/onion.conf
/etc/nginx/conf.d/onion.conf
server {
listen 8080 http2 default_server;
listen [::]:8080 http2 default_server;
location / {
grpc_pass grpc://localhost:5000;
}
}
Nginxの起動
$ sudo service nginx start
サーバーアプリの起動
$ cd /vaw/www/onion
$ dotnet MyApp-Server.dll
info: Microsoft.Hosting.Lifetime[0]
Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
Now listening on: https://localhost:5001
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
Content root path: /var/www/onion/
クライアントの修正
コントローラーを修正
- 大本はこちらにあります
- 修正といっても接続先とポートを変更するだけ
Assets/Scripts/MyApp/MyFirstController.cs
void Awake()
{
+ _channel = new Channel("EC2のPublicIPなど", 8080, ChannelCredentials.Insecure);
- _channel = new Channel("localhost", 5000, ChannelCredentials.Insecure);
_service = MagicOnionClient.Create<IMyFirstService>(_channel);
}
接続確認
クライアント(Unity)のシーンを実行
- 動作してればOK
参考
Discussion
MagicOnionとAWSを勉強中のものです。
本記事が大変参考になっています。ありがとうございます。
節「サーバーアプリの起動」について質問をさせてください。
2021年11月3日現在、
$ dotnet MyApp-Server.dll
を入力すると、Microsoft.NETCore.Appのバージョン5.0.11がないと怒られます。
抜粋したものを以下に載せます。
It was not possible to find any compatible framework version
The framework 'Microsoft.NETCore.App', version '5.0.11' was not found.
5.0.9 at [/usr/share/dotnet/shared/Microsoft.NETCore.App]
AWSとLinux周りはかなり疎いため、初歩的な質問でしたら申し訳ございませんが、
バージョンを5.0.11に上げるにはどうすればよいでしょうか...?
ご教授いただけると幸いです。
よろしくお願いします。
すでに解決済みかもしれませんが、普通にyumで更新すれば良さそうな感じしますね。
動作確認していないので参考までに。
ご返信いただきありがとうございます。
おかげさまで本ページの動作確認までできました。
かなり初歩の部分だったのだと思いますが、、私にとっては大きな一歩となりました。
重ねて御礼申し上げます。