ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS / EC2 ubuntu로 React,Express 배포하기
    Web dev/AWS 2022. 5. 6. 15:54
    728x90
    반응형

    포트폴리오를 만드는중에 내 페이지를 어디 배포할지 고민이 생겼다.

    깃헙페이지와 헤로쿠로 배포를 해보았고 AWS EC2에 배포를 하는법을 공부해보았다.

    나중에 자격증 공부도 해볼것이다 키키

     

    EC2 배포하기

    1. AWS 가입 -> EC2 인스턴스 생성

    2.EC2 우분투로 생성 -> github 소스 clone해서 빌드 후 실행

    처음엔 글이 길어서 어렵다고 생각했지만 하나씩 하다보면 그냥 단계만 많을뿐이다.

     

    1. AWS EC2 인스턴스 시작

     

    인스턴스 시작을 누른다.

     

    1. Amazon Machine Image(AMI) 선택

    Ubuntu Server 18.04/20.04 LTS (HVM), SSD Volume Type 선택

    우분투서버는 리눅스의 배포판이다. 즉 EC2에서 사용할 프로그램을 선택.

     

    2. 인스턴스 유형 선택

    프리티어 사용이 가능한 t2.micro를 선택해준다.

    우리는 꽁짜로 해야하기 때문에~

     

    3. 인스턴스 세부 정보 구성 

    서브넷을 선택할 때는 가용 영역 관련하여 생성 시에 에러가 날 수 있으니 잘 선택해야 한다.

    4. 스토리지추가는 그냥 넘긴다.

    5.태그 추가

    키와 값을 임의로 지정해준다.

     

     

    6. 보안 그룹 구성

    규칙 추가를 하여 포트 범위를 8000,3000,80 등으로 기입하고 위치 무관으로 하나를 생성한다.

     

    7. 확인을 한번 해준다. 처음이라 뭐가뭔지는 봐도 모른다 ㅋㅋ

    나중에 .pem 파일을 다운받는데 .pem 파일은 열쇠같은거다.

    로컬에 저장한뒤 .pem 파일로 ssh 연결을 한다.

    ssh연결은 보안연결 같은거다.

    조금 기 다리면 이렇게 나온다.

    돌아가고 있는중 EC2 인스턴스생성완료.

    서버를 만들었으니 우분투에 접속하여 내코드를 설치할것이다.

     

     

    2.EC2 우분투에서 내 코드 설치

     

    1. aws.pem 폴더를 생성하여 다운받은 .pem 파일을 넣어뒀다.

        EC2에 접속할때는 .pem이 있는 디렉토리에 들어가서 아래와 같은 명령어를 친다.

    sudo chmod 400 내파일이름.pem 
    ssh -i 내파일이름.pem ubuntu@나의 public ip 주소

    EC2 인스턴스연결에 SSH 클라이언트가면 코드복사만 해주면 된다.

    2. 우분투에는 아무것도 없다. git,node부터 npm 까지 다 설치해주어야 한다.

    sudo apt install git
    $git --version
    
    curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
    sudo apt install nodejs
    sudo apt-get update
    sudo apt-get install nodejs

    3. node,npm,git 을 다 설치했으니 github에서 내 코드를 가져올것이다.

       나는 express로 백엔드를 만들고 react로 프론트를 만들어서 백엔드,프론트 각각 npm i 를 해주었다.

    git clone 프로젝트_repo_주소
    cd 프로젝트_repo_주소
    npm install

    4. 난 react에서 빌드 후 깃헙에 올렸는데 빌드된 파일이 없었다. 원래 빌드를 따로 해주어야 되나보다.

    npm run build

    5. express도 package.json에 있었는데 아까 인스톨할때 설치가 안되었나보다 express도 설치해준다.

    npm install express --save

    6. node 실행하기 일정시간이 지나면 우분투가 종료되고 express도 종료되기 때문에 뒤에 &붙이면 안꺼지고 잘돈다.

    node server.js & //서버가 항상 켜있게 하려면 뒤에 & 붙여주어야함.

    보기에는 단계가 많아 어려워보였는데 은근 쉬었다.

    도메인도 달아보고 이거저거 시도해보고 싶다.

     

    출처 - https://3d-yeju.tistory.com/63 

    728x90
    반응형

    'Web dev > AWS' 카테고리의 다른 글

    AWS / RDS MySQL DB 접속하기  (0) 2022.05.06
    AWS / RDS 파라미터그룹 한글설정  (0) 2022.05.06
    AWS / RDS DB MySQL생성  (0) 2022.05.06

    댓글

Designed by Tistory.