본문 바로가기

IT 공부

2. AWS 웹 호스팅

AWS EC2 웹 호스팅

 

 

원래는 Cafe24 같은 호스팅 서버를 이용해서 포트폴리오를 만들 계획이였으나 무료로 할 수 있는 웹 호스팅 서버가 있다고 해서 사용하려고 한다. 또한 이 서비스는 실제 회사에서도 사용하는 프로그램이라고 하여서 더욱 도움이 될 것으로 보인다

 

1. AWS EC2 설정

 

(1) AWS 회원가입 진행 - 회원 가입을 그냥 진행하고 마지막에 개인 선택하면 된다

 

(2) AWS 목록 중 EC2 클릭 후 인스턴스 시작 클릭

 

(3) OS 설정

Ubuntu 선택

 

(4) 스토리지 및 KeyPair 선택 - KeyPair는 생성하거나 선택하지 않으면 되는데 나는 생성 후 선택해줌, 스토리지는 8GB30GB로 변경 해줘야함

 

스토리지 용량은 기존 8GB 로 설정되어있는데 프리티어는 30GB 까지 사용가능해서 30GB로 변경해주어야함

(5) 인스턴스 생성 완료 확인

 

 

(6) 그 다음 포트번호에 대한 수정이 필요하다, 인스턴스 클릭 후 보안 탭으로 들어간다

 

아래의 보안 그룹을 클릭

 

(7) 인바운드 규칙 수정

 

인바운드 규칙 수정을 해줘야해서 편집 메뉴로 들어간다
위와같이 설정

 

(8) 탄력적 IP 생성

 

탄력적 IP 주소 할당을 누른 뒤 그냥 생성 시키면 IP가 생성 된다

 

(9) 탄력적 IP 인스턴스와 연결 후 확인

 

인스턴스 선택 후 연결
해당 IP 주소와 연결 된 것을 확인

2. Putty 

 

(1) Putty 설치

 

[설치 url]

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

 

Download PuTTY: latest release (0.77)

This page contains download links for the latest released version of PuTTY. Currently this is 0.77, released on 2022-05-27. When new releases come out, this page will update to contain the latest, so this is a good page to bookmark or link to. Alternativel

www.chiark.greenend.org.uk

설치를 하면 Putty와 KeyPair를 복사할 수 있는 Putty Gen이 같이 설치 된다

(2) 키 가져오기

Load를 클릭 시 아까 AWS에서 생성한 KeyPair를 가져온다.

(3) 키 Save private로 나만의 Key를 만든다(경로는 아까와 같은 경로로)

 

(4) Putty 실행 후 환경 정보 넣기

Host Name : 인스턴스의 탄련적 ip 주소 입력 / 단 앞에 ubunto@ 라는 유저명을 적어준다, Saved Sessions : 임의의 이름 설정
SSH - Auto 에 Browse로 Key를 등록해준다
해당 화면이 나오면 성공이다

 

(5) update, upgrade 진행

 

sudo apt-get update

sudo apt-get upgrade

[해당 코드로 업데이트와 업그레이드를 진행한다]

 

 

3. JAVA 설치

 

sudo apt-get install openjdk-8-jre = JRE 설치

sudo apt-get install openjdk-8-jdk = JDK 설치

java -version, javac -version = JAVA 버전 확인 (1.8을 설치함)

javac 버전 확인

[환경 변수 설정]

which javac = javac 경로 확인

readlink -f /usr/bin/javac [javac경로] = 경로 읽기

sudo nano /etc/profile = profile 환경 변수 설정할 파일로 접속

 

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export PATH=$JAVA_HOME/bin/:$PATH

export CLASS_PATH=$JAVA_HOME/lib:$CLASS_PATH

[위의 코드 가장 아랫 단에 입력 후 Ctrl + o로 저장 후 Ctrl + x로 나오기]

 

source /etc/profile = 입력

sudo reboot now = 리부팅

[조금 있다가 Putty로 다시 재접속 해주면 된다]

 

echo $JAVA_HOME

$JAVA_HOME/bin/javac -version

[해당 코드로 환경변수 지정 확인]

 

1.8과 경로 설정이 잘 되어있는 모습 확인 가능

4. Tomcat

 

sudo apt-get install tomcat8 = 톰캣 8 인스톨

[하지만 나는 tomcat8이 설치 되지 않아서 tomcat9을 설치함]

sudo apt-get install tomcat8* = 톰캣 9 인스톨

sudo /usr/share/tomcat9/bin/version.sh = 톰캣 버전 확인

sudo ufw allow 8080/tcp = 포트 8080 설정

sudo service tomcat9 start = 톰캣 서버 시작

 

서버 실행 후 IP : 8080을 입력시 해당 웹이 뜬다면 성공, IP은 인스턴스 IP를 가져오면 된다

sudoservice tomcat9 stop = 톰캣 서버 중지

 

5.  MySql

 

(1) MySql 설치

 

[참고 Url]

https://shinysblog.tistory.com/20

 

MySQL(workbench) 다운로드 및 설치 방법

MySQL 다운로드와 workbench를 설치하는 방법을 알려드리겠습니다. dev.mysql.com/downloads/windows/installer/8.0.html MySQL :: Download MySQL Installer Select Operating System: Select Operating System…..

shinysblog.tistory.com

 

 

[MySql 설치 오류 참고]

https://okky.kr/article/588311

 

OKKY | MySql설치 오류 질문좀 드리겠습니다

Saving my.ini configuration file... Saved my.ini configuration file. Ended configuration step: Writing configuration file Beginning configuration step: Updating Windows Firewall rules Addi

okky.kr

 

 

(2) Putty로 AWS 서버에 MySql 설치

 

sudo apt update = 시스템 최신화 업데이트

sudo apt install mysql - server = mysql 설치

dpkg -l(L) grep mysql-server = mysql 설치 확인

 

이렇게 뜨면 mysql 정상 설치 완료

cd /etc/mysql/mysql.conf.d

sudo nano mysqld.cnf = 해당 경로의 mysqld.cnf 파일 실행

실행시키면 밑의 사진이 뜬다

 

해당 코드를 내리다 보면 bind-address가 나오는데 127.0.0.1로 셋팅 된 값을

0.0.0.0 으로 수정 후

Ctrl + o로 저장하고 Ctrl + x로 빠져나오면 된다

해당 코드가 올바르게 수정 됬는지 다시 경로로 들어가서 꼭 확인하도록 하자

 

[계정 생성]

su root = root 계정으로 접속

mysql -u root -p = mysql root 계정으로 로그인 시도 후 패스워드 입력

create user 'mysqluser'@'%' identified by 'user1234'; = 계정 생성

 

[계정 권한 부여]

grant all privileges on *.* to 'mysqluser'@'%' with grant option; = mysqluser에 권한 부여

 

 

(3) MySql Workbench

 

[MySql Connections 옆의 + 버튼으로 새로운 커넥션 생성]

 

Connection Name : DB 이름 정도로 생각하면 된다

Hostname : 인스턴스에 부여한 IP

username : putty에 준 이름을 그대로 가져온다 / mysqluser

password : Store in Vault 버튼을 눌러서 비밀번호 입력 / user1234

 

 

Test Connection을 눌러서 접속 확인

만약 오류가 뜬다면 MySql 서버가 가동되고 있지 않아서 그럴 수 있다

 

sudo systemctl restart mysql.service

 

구문 실행 후 다시 테스트를 진행하니 잘 확인된다

 

[MySql 사용 정보]


https://futurists.tistory.com/11

 

(MySQL) 1장 시작하기. (DB 생성, 테이블 생성, SELECT)

데이터 베이스를 공부하면서 공부 내용을 포스트 해보려 합니다. mySQL을 사용했으며, 버전은 5.7.15 for MAC 입니다. (버전 확인 : mysql --version) 목차 데이터 베이스 생성 (CREATE DATABASE) 데이터 베이스

futurists.tistory.com

 

 

6. 배포

(1) Putty / tomcat webapps 폴더 권한 설정

 

sudo su

chmod -R 777 /var/lib/tomcat9/webapps/

chown -R tomcat9:tomcat9 /var/lib/tomcat9/webapps/

 

service tomcat9 stop

service tomcat9 start

 

코드에 대해 설명하자면

슈퍼 계정에서 webapps에 대한 권한을 준 뒤 서버를 중지 후 다시 실행한다

해당 사이트가 IP : 8080 url에서 작동하면 성공

 

(2) File Zilla

 

[편집] - [설정] - [SFTP]

항상 등록하던 Key 등록 후 확인

[파일] - [사이트 관리자]

 

먼저 New Sit로 awsDevPjt라는 새로운 사이트를 생성 후, 프로토콜을 SFTP로 변경, 호스트는 AWS의 인스턴스 IP를 입력, 사용자와 비밀번호는 putty에 입력한 ubuntu와 비밀번호를 입력해준다
리모트 사이트의 위치를 /var/lib/tomcat9/webapps에 접속하면 처음에는 ROOT 파일만이 존재할 것이다. 거기에 내가 만든 Spring war 파일을 넣으면 자동으로 tomcat9 서버가 해당 war 파일의 압축을 풀어서 폴더를 만들어 낼 것이다
AWS에 배포 된 IP : 8080 / [war파일 이름] 을 입력하면 자동으로 서버실행시 열리는 창이 열리면 배포에 성공한 것이다

 

 

오류 발생 사항으로 인한 수정

 

JAVA 버전에 문제가 생겨서 오류가 생겼다

 

 

간단하게 요약하자면 JAVA의 버전, JDK에 버전에 관한 오류가 발생한 것으로 보인다

 

현재 AWS에 셋팅은

 

JAVA 1.8

TOMCAT9

MYSQL

 

이렇다

 

해결법을 찾아보니 JAVA 버전을 1.8에서 11로 수정하면 문제가 사라진다는 것을 보았고

 

AWS에서 JAVA를 삭제 후 

 

JAVA 11 설치 및 TOMCAT도 다시 설치하니 문제 없이 돌아가는 것을 확인할 수 있었다

'IT 공부' 카테고리의 다른 글

6. Spring security  (0) 2022.06.11
5. REST / REST API / RESTFUL  (0) 2022.06.10
4. BootStrap  (0) 2022.06.07
3. Spring & MyBatis & AWS 배포 및 셋팅  (0) 2022.06.06
1. Git Hub - STS 연동  (0) 2022.06.04