콘텐츠로 이동

ec2 접속하기

Text Only
mssh -r ap-northeast-2 -d -u "dada-dorito" ec2-user@i-0b5cb525a46fb21c0  

nginx 설치 (리눅스 기준)

Text Only
sudo yum install nginx  
Text Only
aws s3 cp s3://beta.muk-da.com/web dada-mukda-front --recursive  

Nginx 설정하기

NGINX 다중 서버 upstream 설정 - 현구막 기술 블로그 (hyeon9mak.github.io)

  • /etc/nginx/proxy.conf
Text Only
proxy_redirect                  off;  
proxy_http_version              1.1;  
proxy_pass_request_headers      on;  
proxy_set_header                Upgrade                 $http_upgrade;  
proxy_set_header                Connection              "upgrade";  
proxy_set_header                Host                    $http_host;  
proxy_set_header                                X-Real-IP                               $remote_addr;  
proxy_set_header                                X-Forwarded-For                 $proxy_add_x_forwarded_for;  
proxy_set_header                                X-Forwarded-Proto               $scheme;  
# socket.io ping timeout 보다 커야 함. 25초 기본  
# self.sio = socketio(server, {  
#       pingInterval : 10000,  
#       pingTimeout  : 60000# });  
proxy_connect_timeout           30s;proxy_send_timeout              60s;  
proxy_read_timeout              60s;proxy_buffers                   32 4000K;  
  • /etc/nginx/nginx.conf

DEV-79 기본 세팅 백업

Text Only
# For more information on configuration, see:  
#   * Official English Documentation: http://nginx.org/en/docs/  
worker_processes auto;error_log /var/log/nginx/error.log notice;pid /run/nginx.pid;  
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.include /usr/share/nginx/modules/*.conf;  

include /etc/nginx/modules-enabled/*.conf;  

events {  
    worker_connections 1024;  
}  

http {  
        upstream mydomain {  
          least_conn;  
          server localhost:5601;  
        }  

  include /etc/nginx/conf.d/*.conf;  
  include /etc/nginx/sites-enabled/*;  
}  

mukda-beta-server

  • sites-enabled, sites-available 폴더 생성
Text Only
$ mkdir /etc/nginx/sites-available  
$ mkdir /etc/nginx/sites-enabled  
  • /etc/nginx/sites-enabled
Text Only
$ sudo vim /etc/nginx/sites-enabled/sub.mydomain.co.kr  
# 아래 내용 저장  
server {  
        server_name sub.mydomain.co.kr;  
        access_log /var/log/nginx/sub.mydomain.co.kr/access.log;  
        error_log /var/log/nginx/sub.mydomain.co.kr/error.log;  
        include proxy.conf;  
        location / {  
                proxy_pass http://mukda-server/;  
                # root 어쩌고 가능  
        }  
}  
Text Only
$ sudo vim /etc/nginx/sites-enabled/sub.mydomain.co.kr  
server {  
        server_name api.beta.muk-da.com;  
        access_log /var/log/nginx/api.beta.muk-da.com/access.log;  
        error_log /var/log/nginx/api.beta.muk-da.com/error.log;  
        include proxy.conf;  
        location / {  
                proxy_pass http://mukda-beta-server/;  
        }  
}  
  • etc/nginx/sites-available
Text Only
$ sudo vim /etc/nginx/sites-available/sub.mydomain.co.kr  
server {  
        server_name sub.mydomain.co.kr;  
        access_log /var/log/nginx/sub.mydomain.co.kr/access.log;  
        error_log /var/log/nginx/sub.mydomain.co.kr/error.log;  
        include proxy.conf;  
        location / {  
                proxy_pass http://mydomain/;  
        }  
}  
Text Only
$ sudo vim /etc/nginx/sites-available/api.beta.muk-da.com  
server {  
        server_name api.beta.muk-da.com;  
        access_log /var/log/nginx/api.beta.muk-da.com/access.log;  
        error_log /var/log/nginx/api.beta.muk-da.com/error.log;  
        include proxy.conf;  
        location / {  
                proxy_pass http://mukda-beta-server/;  
        }  
}  
  • /etc/nginx/proxy.conf
Text Only
$ vim /etc/nginx/proxy.conf  
# 아래 내용 저장  
proxy_redirect                  off;  
proxy_http_version              1.1;  
proxy_pass_request_headers      on;  
proxy_set_header                Upgrade                 $http_upgrade;  
proxy_set_header                Connection              "upgrade";  
proxy_set_header                Host                    $http_host;  
proxy_set_header                                X-Real-IP                       $remote_addr;  
proxy_set_header                                X-Forwarded-For                 $proxy_add_x_forwarded_for;  
proxy_set_header                                X-Forwarded-Proto               $scheme;  
# socket.io ping timeout 보다 커야 함. 25초 기본  
# self.sio = socketio(server, {  
#       pingInterval : 10000,  
#       pingTimeout  : 60000# });  
proxy_connect_timeout           30s;proxy_send_timeout              60s;  
proxy_read_timeout              60s;proxy_buffers                   32 4000K;  
  • 로그 파일 저장할 디렉터리 생성
Text Only
mkdir /var/log/nginx/sub.mydomain.co.kr  
  • 구동 테스트
Text Only
$ nginx -t  
  • 설정 적용
Text Only
$ systemctl reload nginx.service  
Text Only
flutter build web --release --base-href="/"  

Text Only
include /etc/nginx/modules-enabled/*.conf;  

events {  
    worker_connections 1024;  
}  

http {  
  server {  
    listen 80;  
    server_name localhost;  

    location / {  
        root /usr/share/nginx/html;  
        index index.html index.htm;  
        try_files $uri $uri/ /index.html;  
    }  
  }  
}  

[Flutter web] 배포하기 (nginx 설정+EC2 인스턴스 생성) (velog.io) 참고


마지막 업데이트 : 2025년 5월 8일
작성일 : 2025년 5월 8일