해버니 2023. 6. 24. 17:40
반응형

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)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형