Amazon Linux2 + Nginx + Go에서 Hello World

8398 단어 AWSGonginxtech

Amazon Linux2 + Nginx + Go에서 Hello World


사전 준비


빈 EC2 인스턴스를 미리 준비하십시오.
또한 인스턴스를 생성할 때 HTTP를 허용하는 보안 그룹을 설정합니다.

손수


# EC2インスタンスへのログイン
$ ssh -i example.pem ec2-user@<パブリックDNS>

# Goのインストール
[ec2-user@<ipアドレス> ~]$ sudo amazon-linux-extras install golang1.11

# Goのパス設定
[ec2-user@<ipアドレス> ~]$ vi .bashrc
# 下記の記載を追加
# export GOPATH="$HOME/go"
# export PATH=$PATH:$GOPATH/bin

# Nginxのインストール
[ec2-user@<ipアドレス> ~]$ sudo amazon-linux-extras install nginx1

# 初期設定のバックアップ
[ec2-user@<ipアドレス> ~]$ sudo cp -a /etc/nginx/nginx.conf /etc/nginx/nginx.conf.back

# Nginx の起動とインスタンス起動時自動起動の設定
[ec2-user@<ipアドレス> ~]$ sudo systemctl start nginx
[ec2-user@<ipアドレス> ~]$ sudo systemctl enable nginx
[ec2-user@<ipアドレス> ~]$ systemctl status nginx

# nginx.confの設定修正
[ec2-user@<ipアドレス> ~]$ sudo vi /etc/nginx/nginx.conf
server {
    listen       80;
    listen       [::]:80;
    server_name  _;
    root         /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    # 新規追加
    # /fuga にきたらローカルホストの9000ポートにプロキシする
    location /fuga {
        proxy_pass http://127.0.0.1:9000;
    }
    # ここまで

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

# 設定ファイルのチェック
[ec2-user@<ipアドレス> ~]$ sudo nginx -t

# Nginx の再起動
[ec2-user@<ipアドレス> ~]$ sudo systemctl restart nginx

# Go で Hello World アプリケーションの起動
[ec2-user@<ipアドレス> ~]$ go run main.go

# 動作確認
$ curl http://<パブリックDNS>/fuga
Hello World!!!

[보충]main.내용


package main

import (
        "fmt"
        "net/http"
)

func main() {
        http.HandleFunc("/fuga", handler)
        http.ListenAndServe(":9000", nil)
}

func handler(w http.ResponseWriter, r *http.Request) {
        fmt.Fprint(w, "Hello World!!!")
}

참고 자료

  • [EC2] Amazon Linux2에 Golang 1.11 설치
  • [AWS] EC2에 Nginx를 설치합니다. Hello, World!나타내다
  • Nginx+Golang 웹 응용 프로그램 개발~http편~
  • 어플리케이션을 자동으로 시작하려는 경우


    나는 EC2에서 Go를 지키는 방법 이후의 글을 썼다.

    좋은 웹페이지 즐겨찾기