일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 자바 패치
- 프론트 면접족보
- java 신입면접
- 로그스태쉬
- 도커컴포즈
- java 신입
- 깃허브액션
- 리액트 패치노트
- 리액트 버전
- 자바 패치노트
- 자동커밋
- next로 jwt
- 자바17
- 백엔드 신입
- 프론트엔드 면접
- 백엔드 면접
- 리액트 패치
- 프론트 면접
- 엘라스틱서치로 로그관리
- 키바나
- 리액트 #무한스크롤
- java 면접정리
- 자동잔디
- githubaction
- NextJs
- 엘라스틱서치
- 잔디심기
- 프론트엔드 신입
- 파일비트
- nextjs와 typescript
- Today
- Total
천쓰의 개발동산
2024 - AWS(EC2) 리눅스로 서버 만들기 (1) 본문
- 인스턴스 → 인스턴스 시작
- 애플리케이션 및 OS 이미지 → Ubuntu → 20.04 LTS 선택(프리티어 사용 가능 선택)
- 인스턴스 유형에서 무료인 t2.micro(프리 티어 사용 가능) 확인
- 키페어(로그인) (일종의 공인인증서) → 키페어 이름은 영문으로 식별하기 좋은 이름 입력(ex - awstestjks2024) - RSA / pem 확장자
- 스토리지 구성 (현재 상태 그대로 사용) (8 GiB / gp2) → 추가하면 비용 지불 됨
- 인스턴스 시작 → 성공이라고 뜨는 지 확인
- 1년 이후는 반드시 해지 해야 함 (과금 됨)
- 탄력적 IP 선택(고정 IP 부여) - 꼭 부여 해야 함 (인스턴스의 퍼블릭 IPv4에 IP 기록) - 왼쪽 사이드 메뉴 중간에 있음
- 인증서가 있는 폴더에서 Git Bash 열기
- bash > ssh -i awstestjks2024.pem ubuntu@퍼블릭IP
파일질라 설치 (FTP)
(로컬 PC에서 생성한 jar 파일을 AWS 서버로 옮기기 위한 용)
AWS서버에 JAVA 및 MYSQL 실행 환경 구축
JAVA
- **sudo apt update**
- **sudo apt-get install openjdk-11-jre**
MySQL
sudo apt-get update
sudo apt-get install mysql-server
sudo ufw allow mysql
sudo systemctl start mysql
sudo /usr/bin/mysql -u root -p
//패스워드 설정 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '비밀번호';
//database 리스트 확인 mysql> SHOW DATABASES;
//test라는 계정 생성 mysql> CREATE USER 'test'@'localhost' IDENTIFIED BY '비밀번호';
//해당 작업을 반영 mysql> FLUSH PRIVILEGES;
// 스키마 생성 mysql> create database 스키마이름;
// 권한 부여 mysql> grant all privileges on 스키마이름.* to '유저이름'@'localhost';
//적용 mysql> flush privileges;
실행후 Spring boot의 application.propertie의 계정정보및 스키마 변경
외부에서 접속을 위해 AWS의 인바운드 규칙을 추가해서 Spring boot의 port 번호를 등록 합니다. 해당 포트는 application.properties의 port와 동일해야 합니다.
AWS Port 허용
외부에서 접속을 위해 AWS의 인바운드 규칙을 추가해서 Spring boot의 port 번호를 등록 합니다. 해당 포트는 application.properties의 port와 동일해야 합니다.
보안그룹 이름 클릭 → 인바운드 규칙 →인바운드 규칙 편집 → 해당 포트 추가
MySQL 윈도우 접속
- sudo -i 로 root 계정 전환
- cd /etc/mysql/mysql.conf.d
- vi mysqld.cnf 열어서 아래의 내용 주석 처리
#bind-address = 127.0.0.1
#mysqlx-bind-address = 127.0.0.1
- sudo systemctl restart mysql 로 mysql 재시작
MySQL 원격 접속 허용
(이것도 보안그룹에서 하나 더 열어줘야합니다)
AWS우분투 TimeZone 변경
- tzselect →Asia →Korea(South)
- sudo -i
- vi /etc/profile에 아래의 내용 추가
TZ='Asia/Seoul'
export TZ
- exit 입력으로 사용자 권한으로 복귀
- source /etc/profile 실행
JAVA +REACT 통합본 실행
- fllezila 실행후 연결
- 스프링 jar 파일 관리를 위한 폴더 생성 (ex : Spring_release)
- cd Spring_release
- FTP 프로그램인 FileZilla로 로컬에서 ./gradlew build로 생성한 jar 파일 복사(jar파일은 libs에 자동 빌드 됩니다)
- java -jar SpringReact-0.0.1-SANPSHOT.jar 실행 (aws서버의 Spring_release 파일에서 진행)
- nohup java -jar SpringReact-0.0.1-SANPSHOT.jar & (창이 닫혀도 백그라운드 실행 함을 의미)
이로서 AWS 환경에서 HTTP//: 퍼블릭IP:포트 로 정상 실행되게된다.
'배포 & CICD > AWS' 카테고리의 다른 글
2024 - AWS(EC2) 리눅스로 서버 만들기 (3) -HTTPS:// 만들기 (AWS,SSL) (2) | 2024.01.07 |
---|---|
2024 - AWS(EC2) 리눅스로 서버 만들기 (2) - 도메인[가비아] (2) | 2024.01.07 |