EC2のインスタンスが起動している前提で進めます。
ビルドする
GOOS=linux GOARCH=amd64 go build
デプロイする
ビルドしたbinaryを配置することにしました。 今回はapp以下に配置します。
scp -i ~/.ssh/hoge.pem {binary名} ec2-user@{IP}:~/app
Nginxのインストール
Nginxはリバースプロキシとして使います。
$ amazon-linux-extras | grep nginx 4 nginx1.12 available [ =1.12.2 ]
$ sudo amazon-linux-extras install nginx1.12
起動
$ sudo systemctl start nginx.service
$ sudo systemctl enable nginx.service
自動起動の確認
$ systemctl is-enabled nginx.service enabled
nginx.confの編集
80ポートで受け取って8080ポートのアプリに繋ぐようにします。
server_name {パブリックIP}; location / { proxy_pass http://127.0.0.1:8080; }
再起動します
sudo service nginx restart
EC2のセキュリティーグループの設定を変更する
EC2のインスタンス作成時にセキュリティーグループは作成されていますが、デフォルトではポート22だけ空いている状態です。
新たにHTTP 80のルールを追加します。
binary実行
cd app ./{binary名}
これでレスポンスを確認できるようになりました。