그 외/기타
AWS EC2 배포 + PostgreSQL
sonoopy
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 &