AWS EC2에 spring boot와 mysql 배포하기
각종 오류를 만나며 드디어 성공을 했다.
이제 하나하나 다시 해보기 위해 기록한다.
1. ec2 인스턴스 생성
2. mysql 설치
3. spring boot 배포
1.
프리티어 기준
다음.. 다음..
태그 추가해주고
보안 그룹 설정 , mysql3306과 톰캣을 위해 8080 뚫기
그리고 만들자.
키페어는 이미 가지고 있는 것으로 작성자는 사용하겠다.
그럼 인스턴스 생성 완료.
2.
작성자는 ssh로 인스턴스에 접속을 했다.
인스턴스에 접속 후
sudo apt update # mysql 다운을 위해 업데이트
sudo apt install mysql-server # mysql 다운
sudo mysql -u root -p # root로 mysql에 접속
이제 외부에서 접속이 되는 user를 만들자.
create user 'coco'@'%' identified by '1234'; # coco는 유저 이름 , 1234는 비밀번호
grant all privileges on *.* to 'coco'@'%'; # 모든 권한 주기
flush privileges; # privileges 테이블 reload
exit; # mysql 나가기
이제 user를 만들었으니 mysql 설정 파일을 수정해 주어야 한다.
외부에서 접근이 가능하게
cd /etc/mysql/mysql.conf.d
sudo nano mysqld.cnf # mysql.cnf와 mysqld.cnf가 있는데 d 붙은 것을 열어라,
열고나서
bind-address = 0.0.0.0로 수정 후
sudo service mysql restart # mysql restart 시키기
이제 외부에서 접속 시 정상적으로 접속된다.
AWS EC2 인스턴스 생성, 접속, MySQL 설치, Apache, PHP 연동 [한 번에 끝내기]
AWS EC2 인스턴스를 생성한 뒤에, 거기에 접속해서 MySQL, Apache, PHP를 설치하여 연동하는 방법에 대해서 소개하겠습니다. AWS EC2 인스턴스 생성 1. AWS EC2 관리 페이지로 이동합니다. EC2 관리 페이
ndb796.tistory.com
3.
스프링 부트 배포
3-1. java 설치 (환경변수 설정)
3-2. jar 실행
3-1.
java가 깔려 있지 않으니 깔아보자
apt list | grep jdk # 다운 가능한 jdk 보기
많은 jdk가 있는데 작성자는 jdk8을 사용했으므로 openjdk-8-jdk를 사용하겠다.
sudo apt install openjdk-8-jdk
이제 환경 변수 설정을 해야 함
which java # 바로가기 위치 읽기 -> 위치가 나옴
readlink -f /usr/bin/javac # 심볼릭 링크를 계속 들어가 최종 실행 파일의 위치를 읽음
javac의 위치를 알았으니 환경변수에 추가해 주자
sudo nano /etc/profile # 설정 파일
# 마지막 줄에
export JAVA_HOME=/user/bin/~~~ # javac의 위치 저장
3-2.
git에서 clone을 받아와서 빌드 후 실행시키면 끝.
특정 브랜치만 받아오기로 했다.
git clone -b coco --single-branch https:git~~~~~~.~~~ # 저장소 주소
# 이제 빌드를 진행하자
sudo./gradlew build # 빌드
cd build/lib # 빌드 성공 시 이곳에 jar 파일이 있다.
java -jar coco.jar # jar 실행
이럼 실행이 되고 외부에서 인스턴스의 public주소:8080으로 접속이 가능해진다.
velog.io/@chlwlsdn0828/EC2%EC%97%90-Spring-Boot-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0-ork5xrym86
발생했던 오류는 test시 오류가 발생해서 ec2가 멈추는 일이 일어났다.
오류 문구는 안 알려주고 멈췄었는데 로컬에서 빌드를 해보니 오류 문구가 나왔었다.
오류 문구대로 잘 적용하니 잘되었다.