ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS EC2 배포 + PostgreSQL
    그 외/기타 2024. 11. 18. 23:15

     

    AWS 계정 생성 및 EC2 인스턴스 생성은 아래 게시글 참고

     

    2024.11.05 - [기타] - AWS - EC2, RDS를 활용하여 배포하기

     

     

     

    맥북 터미널에서 ssh 접속하기

     

    • pem 권한 변경
    chmod 400 /Users/***/Downloads/PeopleOfF.pem

     

     

    • 권한 변경 확인
    ls -l /Users/***/Downloads/PeopleOfF.pem

     

    결과 : -r————@ 1 *** staff  1678 11 18 13:02 /Users/***/Downloads/PeopleOfF.pem

     

     

    • 우분투 서버 접속
    ssh -i /Users/***/Downloads/PeopleOfF.pem ubuntu@12.345.678.90 (public IP)

     

     

     

    환경 설치 및 셋팅

     

    • 시스템 업데이트
    sudo apt update && sudo apt upgrade -y

     

     

    • Git 설치
    sudo apt install git -y

     

     

    • Java 설치
    sudo apt install openjdk-17-jdk -y

     

     

    • Gradle 설치
    sudo apt install gradle -y

     

     

     

    PostgreSQL 설치 및 셋팅

     

    • postgresql 설치
    sudo apt install postgresql postgresql-contrib -y

     

     

    • postgresql 시작
    sudo systemctl start postgresql

     

     

    • postgresql 상태 확인
    sudo systemctl status postgresql

     

     

    • postgresql 접속 (기본 사용자)
    sudo -i -u postgres

     

     

    • postgresql 콘솔 접속
    psql

     

     

    • 비밀번호 설정
    ALTER USER postgres with PASSWORD 'postgres';

     

     

    • 데이터베이스 및 유저생성, 권한 설정
    CREATE DATABASE peopleoff;
    
    CREATE USER peopleoff WITH PASSWORD 'peopleoff';
    
    GRANT ALL PRIVILEGES ON DATABASE peopleoff TO peopleoff;

     

     

     

    -peopleoff DB 이동 후 권한 부여

    \c peopleoff
    
    GRANT ALL PRIVILEGES ON SCHEMA public TO peopleoff;

     

     

     

    -postgresql 버전 확인

    SELECT version();
    
    : PostgreSQL 16.4
    
    
    
    또는 콘솔 종료 후 psql --version

     

     

    -콘솔 종료

    \q

     

     

    -psql 종료

    exit

     

     

    -postgresql 비밀번호 변경

    sudo passwd postgres

     

     

    -postgresql 설정 파일 경로 검색

    sudo find /etc -name "postgresql.conf"

     

     

    -postgresql 설정 파일 열기

    sudo nano /etc/postgresql/16/main/postgresql.conf

     

    검색: Ctrl + W → listen_addresses 입력
    
    #listen_addresses = 'localhost' -> listen_addresses = '*' 로 수정
    
    저장: Ctrl + O → Enter
    
    종료: Ctrl + X

     

     

     

    -인증 파일 수정

    sudo nano /etc/postgresql/16/main/pg_hba.conf

     

    파일 끝에 아래 내용 추가
    
    host    all             all             0.0.0.0/0               md5

     

     

    -postgresql 재시작

    sudo systemctl restart postgresql

     

     

    E2C > 보안 > 보안그룹 > 인바운드 규칙 추가

    유형: PostgreSQL
    
    프로토콜: TCP
    
    포트 범위: 5432
    
    소스: anywhere

     

     

    psql -h 12.345.678.90(publicIP) -U peopleoff -d peopleoff

     

     

    -작업디렉토리 이동

    cd /home/ubuntu

     

     

    -깃 클론

    git clone https://github.com/~/~.git(git주소)

     

     

    -application.yml 추가

    cd /home/ubuntu/peopleofF(프로젝트명)/src/main
    
    mkdir resources
    
    cd resources
    
    nano application.yml

     

     

    프로젝트 파일 경로로 이동

    cd /home/ubuntu/peopleofF

     

     

    gradlew 권한 주기

    chmod +x ./gradlew

     

    빌드

    ./gradlew clean build

     

    **

    EC2 프리미어 서버에서 테스트까지 돌리면 빌드되다가 중지되는 오류 발생

     ->  ./gradlew clean build -x test : 테스트 없이 실행

     

     

    jar파일 실행

    java -jar ~/peopleofF/build/libs/peopleofF-0.0.1-SNAPSHOT.jar
    
    #백그라운드 실행
    
    nohup java -jar ~/peopleofF/build/libs/peopleofF-0.0.1-SNAPSHOT.jar > ~/peopleofF/output.log 2>&1 &

     

     

Designed by Tistory.