[Spring 프로젝트] AWS EC2 배포

您所在的位置:网站首页 swapfile [Spring 프로젝트] AWS EC2 배포

[Spring 프로젝트] AWS EC2 배포

2023-03-31 09:07| 来源: 网络整理| 查看: 265

실행 순서

EC2 ssh 접속 코드 git clone docker 설치 jdk 설치 ./gradlew clean build docker build docker images 확인 docker run docker ps 확인

메모리 용량 늘려서 쓰기

sudo dd if=/dev/zero of=/swapfile bs=128MB count=32 sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile sudo swapon -s

sudo vi /etc/fstab

여기서 추가 /swapfile swap swap defaults 0 0

Free -h 로 확인

도커 설치

sudo service install docker sudo service docker start

확인 sudo systemctl status docker

자바 설치

sudo yum install java-11

build.gradle plugins { id 'java' id 'org.springframework.boot' version '2.7.9' id 'io.spring.dependency-management' version '1.0.15.RELEASE' } group = 'com.example' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' jar { enabled = false } application.yml spring: datasource: # url: jdbc:mysql://{ec2 public IP}:3306/{DB 이름} username: root ( 잘모르겠다면 root) password: root driver-class-name: com.mysql.cj.jdbc.Driver jpa: hibernate: ddl-auto: update # 스키마 자동 생성 database-platform: org.hibernate.dialect.MySQL5InnoDBDialect show-sql: true # SQL 쿼리 출력 properties: hibernate: format_sql: true # SQL pretty print server: port : 8080 빌드

./gradlew clean build 내장 그래들러로 빌드한다. 기존의 이미지를 지우고 새롭게 빌드를 한다. 이때 읽는 파일이 application.yml 이다

도커 빌드

docker build -t {repo:tag} .

도커 이미지 확인 root@ip-172-31-43-211:~/dubu-party# docker images REPOSITORY TAG IMAGE ID CREATED SIZE dubu 0.0.1 f65afbfc6587 38 seconds ago 699MB MYSQL 설치

Mysql 8 버전 이미지를 불러와서 -d 데몬 (백그라운드 작업으로 ) -p 3306 포트로 지정해서 진행한다.

sudo docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root mysql:8.0

도커 실행

docker run -d -p 8080:8080 image:tag

도커 실행 확인

docker ps

database 생성

mysql에서 create database 만들어주기

mysql docker compose

docker-compose.yml 작성

version: '3' services: mysql: image: mysql:8.0 container_name: mysql ports: - 3306:3306 # HOST:CONTAINER environment: MYSQL_ROOT_PASSWORD: admin command: - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci volumes: - D:/mysql/data:/var/lib/mysql

실행 docker-compose -f docker-compose.yml up -d

느낀점

배포에서 정말 많은 어려움을 느꼈다. docker의 역할, mysql을 연결하는 과정, mysql이 돌아가고 있는지 확인하는 법 spring이 꺼지는 이유 등을 하나씩 알아가며 배포에 대해 공부를 하게 되었다. 10시간 정도 소요한 것 같은데.. 앞으로 모든 과정에 대해서도 잘 기록하고 이겨내자



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3