aws se2 서버 배포 해보기!
일단 Oracle Linux가 없다면 먼저 다운 받자!
Oracle Linux 버전 다운 받기
https://www.oracle.com/database/technologies/xe-prior-release-downloads.html
세 번째 걸로 다운 받으면 된다.
AWS
AWS ROOT 사용자로 가입
https://aws.amazon.com/ko/?nc2=h_lg
클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services
aws.amazon.com
카드 번호 기입 해야 하는데
1년만 무료니까(?) 1년 되기 전에 해지해야 한다.
미래의 나야.. 까먹지 말고 하기를..
검색창에 EC2를 검색해서 대시보드 를 클릭해준다.
그리고 오른쪽 위에 보면 서울이라고 나와있는데 다른 나라로 되어있다면 서울로 변경해준다.
인스턴트 이름을 정해주고 (본인이 원하는 이름으로)
Ubuntu 클릭
키 페어 로그인에서 새 키 페어 생성 클릭
키 페어 이름 정해주고 (원하는 이름으로)키 페어 유형 = RSA, 프라이빗 키 파일 형식 = .pem으로 설정 후 키 페어 생성 클릭
클릭하면 키 페어가 다운로드 된다.
저장된 위치를 알고 있어야 한다.
그리고 나머지는 기본 설정값으로 해두고 인스턴스 시작 버튼을 누른다.
인스턴스에 연결 클릭
연결 클릭
연결이 되면 콘솔 창이 뜬다.
cd /
sudo mkdir shop
ls
cd /
root directory로 이동
sudo mkdir shop
shop 디렉토리 생성
ls
현재 위치에 있는 디렉토리 리스트 보기기
대시보드 > 인스턴스 > 내가 사용하고 있는 인스턴스 클릭
을 하면 밑과 같은 창이 나온다.
보안 탭에 들어간다.
보안 그룹 클릭
인바운드 규칙 > 인바운드 규칙 편집 클릭
(아웃바운드 규칙 누르지 말고 인바운드 규칙으로 누르세요..
필자는 아웃바운드로 만들어서 삭제했음요..흑흑)
규칙 추가 > 8080, 0.0.0.0/0 선택
규칙 추가 > 8081, 0.0.0.0/0 선택
본인이 쓰는 포트번호를 넣어주면 된다.
규칙 저장
FileZilla 설치
https://filezilla-project.org/download.php?type=client
Client로 다운을 받아준다.
next를 누르면서 다운 받아주면 된다. (다 기본값으로 설치하면 됨)
파일 > 사이트 관리자 클릭
프로토콜 : FTP - 파일 전송 프로토콜
호스트 : aws 인스턴스에서 자동 할당된 IP 주소 를 넣어준다.
포트 : 22
사용자 : ubuntu 입력 후 연결
자동 할당된 ip 주소를 복사해주자.
리눅스용 오라클 11g 다운로드
터미널을 키고
sudo apt update
sudo apt install openjdk-17-jdk
# jdk 설지하기
sudo java --version
# 이 명령어를 입력했을 때 버전이 뜬다면 설치가 제대로 된 것이다.
sudo apt install zip
sudo unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
# 위에서 oracle 다운 받은거 unzip 해주는 것
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
을 실행했을 때 위와 같이 보이면 성공~!
sudo swapon -v /swapfile 입력 전에
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
sudo mkswap /swapfile
위 두 문장 실행하기
그리고 free -m을 눌러서 보면 1024 크기가 증가한걸 볼 수 있다.
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
# 1G크기의 swapfile 생성
sudo mkswap /swapfile
sudo swapon -v /swapfile
#/swapfile을 활성화하여 스왑 공간으로 사용
sudo free -m
# 메모리 사용 현황
sudo vi /etc/fstab
# 위 명령어를 실행하면 밑 사진과 같은 메모장(?)이 켜짐
vi /etc/fstab을 입력하면 위와 같은 편집기가 뜨는데
(위 두 줄은 원래 있는 문장이고 마지막 문장을 후가해준다.)
/swapfile swap swap defaults 0 0
을 입력해주자.
sudo apt -y install alien libaio1 unixodbc
cd Disk1
sudo alien --scripts -d oracle*
이거 설치하는 시간이 꽤 걸렸다.
5분정도 소요된 것 같다.
sudo dpkg --install oracle*.deb
sudo /etc/init.d/oracle-xe configure
-- 오라클 설치할 포트번호 8000으로 입력하고 엔터
-- listener 번호 1521 입력하고 엔터
-- initial configuration :
-- 저건 비밀번호 입력창 근데 입력해도 눈에 안보임
-- confirm the password :
-- 얘도 뜨는데 비밀번호 입력 똑같이 해서 입력하면 됨
-- 설정이 완료되면
-- completed succesfully. 라고 나옴
패스 설정
ubuntu:~$ sudo vi ~/.bashrc
을 입력하면 밑 창이 뜬다.
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
입력해주기.
ubuntu:~$ source ~/.bashrc
실행
sqlplus
Enter user-name: system
Enter password: 비번입력 (아까 위에 입력한 비밀번호 입력)
오라클 타임존 설정
sql>alter user hr identified by hr account unlock;
sql>alter database set time_zone='Asia/Seoul';
SQL> disconn;
SQL> conn hr/hr;
SQL> select table_name from tabs;
SQL> select table_name from tabs;
테이블 이름들이 나오면 실행 성공!!
이클립스 연결
1. @Autowired(required=false) 설정
2. application.properties 수정
1. @Autowired(required=false) 설정
JwtTokenProvider에
@Autowired(required=false)를 적어준다.
2. application.properties 수정
그리고 application.properties에도 설정을 추가해준다.
그리고 server.port=8081로 해줬다.
spring.datasource.url=jdbc:oracle:thin:@localhost:1521/xe?serverTimezone=Asia/Seoul
spring.jpa.properties.hibernate.jdbc.time_zone=Asia/Seoul
spring.servlet.multipart.location=/shop/
# 리눅스를 이용하는 거라서 C:를 지워줬다.
프로젝트 우클릭 > Run As > Maven build 클릭
Goals : package
Profiles : pom.xml (기본값으로 들어감. 하지만 빈 칸이라면 추가해서 적어준다.)
BUILD SUCCESS 뜨면 maven build 성공!
만약 에러가 뜬다면 본인의 프로젝트 코드에 오류가 있는 것이므로..
오류 없게 고친 다음에 다시 실행해줘야 한다.
BUILD SUCCESS 가 되면
본인 프로젝트 위치 > target > spring_restapi_shop-0.0.1-SNAPSHOP.war 파일이 생성이 된다.!!
어느 위치인지 알고 있어야 한다.
AWS LINUX 설정
이미지 저장할 디렉토리 생성
ubuntu@ip-172-31-3-205:/$ cd /
ubuntu@ip-172-31-3-205:/$ sudo mkdir shop
ubuntu@ip-172-31-3-205:/$ sudo chmod 777 /shop
누구나 읽고 쓰고 수정할 수 있게 해주는 명령어이다.
FileZilla
프로젝트 연결
파일 > 사이드 관리자 ( Ctrl + S)
키 파일 추가
키 파일 추가 버튼을 눌러준다.
아까 위에 target 폴더에 spring_aws_test-0.0.1-SNAPSHOT.war 라는 파일이 생성 됐는데
그 파일을 추가해주는 것이다.
파일 추가해주고 확인 버튼 누르기
파일 전송하기
나의 프로젝트 폴더\target
target폴더 안에 있는
spring_aws_test-0.0.1-SNAPSHOT.war 를 더블클릭해준다.
그럼 파일이 전송된다.
밑에 전송 성공이라고 뜨면 완료~
java -jar spring_aws_test-0.0.1-SNAPSHOT.war
위 명령어를 입력하고 Spring 실행창이 뜨면 성공
팀원분분들이 접속해서 글을 올려줬다 q(≧▽≦q)
'배포 및 인프라 > 𝙰𝚆𝚂' 카테고리의 다른 글
[AWS] 삭제하기 / 돈 나감 (0) | 2023.08.05 |
---|