황샐리 2022. 5. 30. 15:52

리눅스 참고)

https://hanamon.kr/%EB%A6%AC%EB%88%85%EC%8A%A4%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%B4%EA%B3%A0-%EC%9A%B0%EB%B6%84%ED%88%AC%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80/

 

리눅스(Linux)는 무엇이고 우분투(Ubuntu)는 무엇인가 - 하나몬

❗️리눅스(Linux)란? 👉 Linux는 커널이다. ⇒ 커스텀 OS 만들기 가능 Windows나 Mac과 달리 Linux는 실제로 분리되고 잘 정의된 운영 체제가 아니다. 오히려 Linux는 커스터마이즈된 OS를 만들 수 있는 커

hanamon.kr

레드햇 리눅스 참고)

https://namu.wiki/w/%EB%A0%88%EB%93%9C%ED%96%87%20%EB%A6%AC%EB%88%85%EC%8A%A4

 

레드햇 리눅스 - 나무위키

이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권

namu.wiki


퍼티 팁!
- 그냥 드래그하면 복사가 됩니다. 퍼티 안에서는 우클릭만 해주면 붙여넣기 완료!
- 자동완성은 tab키로 가능합니다~!!

[putty]

ec2 설정한것을 이용하려면 푸티를 다운로드 해야합니다.

푸티는여?

 클라이언트로 동작하는 자유 및 오픈 소스 단말 에뮬레이터 응용 프로그램..

예,,??

걍 한마디로 

<원격 접속 프로그램>

 

 

푸티를 다운로드 합니다! 구글에 푸티쳐서 다운로드 받으삼.

이렇게 2개를 다운로드 합니다.

왼쪽은 찐 푸티, 오른쪽 푸티젠은 파일을 변형시켜 주는 것입니다.

왼쪽에 있는 푸티에 ssh가 왜인지 익숙해보이지 않으신가요..

 

[초기 설정 - 푸티젠]

먼저, 푸티젠을 실행합니다.

conversions-import-.pem 확장자를 클릭합니다,

자그러면 여기서

save private key 누르고요. 예 누른다음! 아래 처럼 저장해주었습니다.

이렇게 된 다음에는 그냥 푸티를 눌러주고요,

auth에서 browse를 눌러서 방금 변형해준 ppk를 눌러줍니다.

오픈을 클릭하면 저장 완!!

자 그다음에 맨 위에 있는 session을 선택합니다.

아까 ec2로 다시 가서 퍼블릭 IPv4 주소를 복사해 옵니다.

 

그 아이피 주소 앞에 ec2-user@ 붙여줘도 됩니다!

걍 이렇게 해주었습니다..

저 서버는 걍 내가 위에다가 이름 쓰고 save해서 불러왔고요, 다음번에는 그냥 load만 눌러주면 되겠습니다.

하고 오픈을 누르면?

이렇다,,,

사실 오류가 났었는데요,,,^^,, 창 닫고 다시 만드니 되었다~^^ 다들 머 띄어쓰기 등등 조심하라구여.

자 그 다음에는요,

다시 ec2 인스턴스 - 보안 - 보안그룹- 인바운드 규칙 에서

ssh의 이름을

이렇게 바꾸어 놓았어요.

전체로 보면 요롷코롬.

자 그러면 이제 서버 준비는 드디어 끝임다! 리눅스를 깔 필요 없이 이렇게만 해주면 되겠습니다.

 

[자바 연결하기]

그러면 자바랑 연결을 시켜볼가요~~^^?

푸티에 sudo yum update 를 누르면 주르르륵 뜨고요 계속해서 y를 눌러주면 쭈주죽 업데이트가 되어집니다.

컴플릿!

그 다음에는요

와 우리가 레드햇 했다는거를 얘가 잘 알려주고 있어요.

그러면 우리 자바를 설치해보도록 하겠습니다.

일단 이렇게 검색하여 주세여.

저 뜻은 자바로 시작하는 것 중에 jdk 디벨로퍼만요. 라는 뜻

그리고 위에 이렇게 리스트 3개가 나오고 있지요?? 우리는 11버전 쓸것임~^^

[ec2-user@ip-172-31-12-46 ~]$ sudo yum install -y java-11-openjdk-devel.x86_64

자 이렇게 쓰세여. 중간에 -y 누르면 다 yes 한다는 이야기 입니다.

그런데 이거 복사를 어케했냐고요? 드래그 하면됨. 이렇게 블로그에 컨트롤브이해주면 되고 여기 푸티에서는 우클릭!!

와 너무 쉽당.

 

여기서 자바 버전을 살펴보면?

와~~ 11버전이다~~

와~~ 디렉토리와 자바씨의 버전도 잘 살펴보았습니당.

오키 자바 설정 완!

그 다음에 우리가 톰캣을 쓴다면?

여기에 또 깔아주면 됩니다.

일단은 시간 변경 먼저 해준다.!

 

잠깐!!
여기서 팁!!! 푸티에 있는 자동완성 기능!!
한글자 치고 Tab!! 누르면 되겠슴당.

이렇게 되면 서울 시간으로 되었어요!

확인 완!!

KST 로 왜나올까,,

바로

Korea Standard Time 이기 때문.

 

[톰캣 연결하기(=퍼티에 다운로드)]

자 이제는여 ec2에 톰캣 설치를 해볼게요.

아쉽게도 교재에는 없기때문에,,, 하려면?

이 블로그를 보아야한다.. 그러니 눈 똑바로 뜨고 살펴보자고요.

톰캣을 설치하려면 이미 파일이 있어야 하고 그거를 업로드해주어야합니다.

물리적인 컴에는 있지만 이건 가상컴이니까,,,

그러니 파일 전송 프로그램이 있어야하겠지요?

그것이 바로 파일질라!

https://filezilla-project.org/download.php?type=client

위에 가서 클라이언트 용으로 다운 받습니다.

우리는 무료버전으루~~ 해서 업로드를 해도 되고요,

 

사실 우리가 아마존꺼를 썼으면 wget이라는 명령어를 통해 바로 할 수 있었지만 우리는?

레드햇이다!!

근데 지금은? 깔아줘야해.

걍 깔아줘볼까요?

먼저 톰캣 사이트에서 우리는 9버전을 쓸거니까 9버전 아래쪽에 가서 tar파일 우클릭 후 링크 주소 복사를 해둡니다.

퍼티를 열어주고,

[ec2-user@ip-172-31-12-46 ~]$ sudo yum  install -y wget

하고요,

저기서 링크 주소 복사 한것을 해줍니다. 어케요? 이케요!

이렇게 쭉쭉 나오면 되겠습니다.

ll하면 목록이 나오고 있고 현재 루트권한으로 되어 있다는 것을 볼 수 있습니다.

그러나 저거를 루트로 하면 안됩니다.. 권한을 바꾸어야해요!! 해볼가요?

왜냐면

루트로 하면 삶이 복잡 그 잡채,,

sudo 명령어를 조금 덜 쓰기 위하여서 root에서 유저로 권한을 바꾸어 줍니다.

여기서 말하는 유저는 우리가 ec2 설정할때 만들었던 그 유저이름입니다!

리눅스 파일 권한 변경

ㅇㄴ 중간에 있는 root는 바뀌었는데 저 첫 번째껀 머야!!

그룹이랴요,, 그룹권한,,

이것도 바꿀게여.

요롷코롬~~!!

어쨌든 바꾸어주었슴다. 짝짞

무언가 또 바뀐게 보이시는지? 뒤에가 걍 tar 되었습니다.

다음으로는 압축해제

먼저는 gunzip 건집아니고 지언집을 해줍니다.

그러면? 뒤에 있는 gz가 없어졌습니다~!!

 

그 후에 찐 압축 해제를 해줄게요.

[ec2-user@ip-172-31-12-46 ~]$ tar -xvf apache-tomcat-9.0.63.tar

위에처럼 써주면?

됨다.

와~~ 잘 됐다~~!

압축 해제 전 파일(.tar) 삭제는?

이렇게!

*sudo rm -r apache-tomcat-9.0.63/
이거는 디렉토리 지우는거

 

*rm =remove
-r =디렉토리
-x = 압출 풀기
-v = view 보기
-f = 폴더,,?!!?

 

[톰캣 서버 파일 옮기기]

이제 파일을 좀 옮겨 볼게요.

pwd는 현재 디렉토리 파일을 알려줍니다. 현재 파일 위치!

저 톰캣 파일이 여기 있다는걸 알려주는 검다.

톰캣 파일을 함 볼가요?

파일을 볼때는 파일을 바꾸어주고, 꼭 ll을 눌러줍니다!!

여기서 디렉토리 하나만 만들고 갈게요!

원래 폴더로 가서 지금 만들었당.

그 안에 하나 더 만들게여. 그곳은? 서버 위치로!

spring 폴더로 바꾸었고 콘솔에서 그래픽 모드로 사용 할 수 없어서 메모장의 역할을 하는(노트패드 같은) vim 에디터를 설치해 주었습니다. 볼게요!

이거 경로 사실 잘못되었지만,, vim 다운받는 명령어만 참고합시다!

이렇게 하면 그 원래 서버 위치에서 나왔던 곳의 파일을 보는 경로는 아래와 같습니다.

vim 과 vi의 차이는 색이 있고, 없고 라는 뜻입니다~!!

왕 컬러풀해~~!!

이것이 바아로 vim !!

파란색은!?!? 다 주석임ㅋ

만약 빈 페이지가 나왔다면 그것은 오류입니다.

*vim 하는거
이미 ec2권한이기 때문에 sudo를 안하고 그냥
vim server.xml
root  권한이면 권한이 없으니까 sudo vim 을 해주어야합니다.

 

자 그러면 여기서!

호스트 이름을 변경해주어야 합니다. 왜요?

아니 아까 서버 위치 바꾼다구 했자나~~ 스프링 폴더도 만들었으니까요!

이름 바꾸어주려면 먼저 i를 눌러서 맨 아래에 인서트가 떠야 합니다.

보이삼?!

지금은 저기 아래 옵션들을 false로 주었는데요, 아직 연습중이라 그래~~

나중에 다시 true로 바꿀수 있으니 울지말자.

하고 esc 누르면 아까 있었던 insert 가 없어집니다.

그리고 걍 바로 거기에

:wq

눌러서 나와줍니다!!

이건,, 캡쳐본이 없어,,

암튼 나 자신을 믿고 해보면 나오게 됩니다.

저기서 w는 저장하는것, q는 빠져나오는것! 합쳐서 저장하고빠져나오기가 되겠습니다.

여기서 잘못하면 오류난다구여. 조심해!

아파치 폴더에서 웹앱스-루트- 를 보자면 이렇게 되어있는데요, 이 루트 폴더안에 우리의 서버를 사용합니다.

*cd 만 입력하면 home/ec2-user 경로로 바아로 감.

 

[톰캣 파일 명령어 확인하기]

bin 파일로 들어갑니다.

[ec2-user@ip-172-31-12-46 spring]$
[ec2-user@ip-172-31-12-46 spring]$ pwd
/home/ec2-user/spring
[ec2-user@ip-172-31-12-46 spring]$ cd /usr/local/apache-tomcat-9.0. 63/

*bin 파일 바로 실행
 /usr/local/apache-tomcat-9.0.63/bin/startup.sh

 

이거는 아까 우리가 :wq하고 나왔던 곳에서부터 시작합니다.

와~ 많다.

그럼 이 명령어를 어케 시작할가요?

이런 명령어를 시작하고 shutdown으로 닫아줍니다.

*셧다운은 이렇게 빈가서 해야함.
/usr/local/apache-tomcat-9.0.63/bin/shutdown.sh

tab키로 누르는거 잊지 말자고요!

이제 시작해서 로그를 살펴보도록 합시다.

이러한 태그들,,, 이 있고요,

ctrl + z 로 빠져나옵니다.

아련함을 위해서 ..을 쓴것이아니라!

위 폴더로 올라간단 소리입니다.

언제나 띄어쓰기 주의!!

[ec2-user@ip-172-31-12-46 spring]$ cd /
[ec2-user@ip-172-31-12-46 /]$ pwd
/

최상위 폴더는 c드라이브나 d드라이브가 아닌 걍 루트!가 최상위 파일입니다.

[ec2-user@ip-172-31-12-46 /]$ ll
total 16
lrwxrwxrwx.   1 root root    7 Jun 21  2021 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 May 30 12:09 boot
drwxr-xr-x.  18 root root 2660 May 30 10:46 dev
drwxr-xr-x.  99 root root 8192 May 30 14:16 etc
drwxr-xr-x.   3 root root   22 May 30 10:46 home
lrwxrwxrwx.   1 root root    7 Jun 21  2021 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Jun 21  2021 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 Jun 21  2021 media
drwxr-xr-x.   2 root root    6 Jun 21  2021 mnt
drwxr-xr-x.   2 root root    6 Jun 21  2021 opt
dr-xr-xr-x. 105 root root    0 May 30 10:46 proc
dr-xr-x---.   3 root root  119 May 30 15:46 root
drwxr-xr-x.  28 root root  920 May 30 12:09 run
lrwxrwxrwx.   1 root root    8 Jun 21  2021 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Jun 21  2021 srv
dr-xr-xr-x.  13 root root    0 May 30 10:46 sys
drwxrwxrwt.  10 root root  222 May 30 16:09 tmp
drwxr-xr-x.  12 root root  144 Jan 28 00:53 usr
drwxr-xr-x.  20 root root  278 May 30 10:46 var

최상위 폴더에는 이러한 폴더들이 있습니다. = 레드햇 계열의 디렉토리 구조.

이 상태에서 

[ec2-user@ip-172-31-12-46 /]$ cd
[ec2-user@ip-172-31-12-46 ~]$ pwd
/home/ec2-user

이렇게 하면 ~ 폴더는 유저 폴더임을 알 수 있습니다. 

파일이 계속 실행되고 있으니 닫아줍니다.

[ec2-user@ip-172-31-12-46 /]$ /usr/local/apache-tomcat-9.0.63/bin/shutdown.sh

 

[푸티 톰캣에 파일 업로드]

간단한 프로젝트 하나만 만들어주고요. war로 일단 저장해주고 파일 업로드 하는거 한번 해보겠습니다!

걍 간단한 인덱스파일 하나 만들었습니다.

아까 초반에 파일을 업로드 하는것은 파일질라로 해야합니다.

참고로 다운받을 때 옵셔널은 선택하지 않아도 됩니다. brave요!!

그리고 다운받고 파일-사이트 관리자 에서 아래와 같이 설정해줍니다.

1. new site를 누르고

2. 프로토콜을 ssh로 바꿉니다.

3. 호스트는 ec2에서 복사해옵니다.

4. 로그온 유형은 키 파일로.

5. 사용자 이름은 저렇게.

6. 키파일은 아까 했던 aws 폴더에서 .ppk 파일을 선택하여 줍니다.

7. 계속해서 확인,확인을 누르고 끝내기.

아까 배경화면에 저장해줬던 war 파일을 spring 파일에 넣습니다.

[ec2-user@ip-172-31-12-46 ~]$ cd src/spring
[ec2-user@ip-172-31-12-46 spring]$ ll
total 13276
-rw-rw-r--. 1 ec2-user ec2-user 13591275 May 30 16:41 springweb.war
[ec2-user@ip-172-31-12-46 spring]$ jar -xf springweb.war
[ec2-user@ip-172-31-12-46 spring]$ ll
total 13276
drwxrwxr-x. 2 ec2-user ec2-user       25 May 30 16:42 META-INF
-rw-rw-r--. 1 ec2-user ec2-user 13591275 May 30 16:41 springweb.war
drwxrwxr-x. 4 ec2-user ec2-user       32 May 30 16:22 WEB-INF
[ec2-user@ip-172-31-12-46 spring]$ /usr/local/apache-tomcat-9.0.63/bin/startup.sh

그리고 파일을 확인하세요!

스프링파일 안에 .war 파일이 있다는것을 알 수 있습니다.

압축을 풀어주고요,

*파일 푸는것.
jar -xf my-project.war

바아로 스타트도 시켜줍니다.

그러면 올라왔는데 바로 볼 수 있느냐??

아님,, 왜냐면 8080포트를 안열어줬거든요ㅋ.

다시 아마존에 갑시다!!

인스턴스 - 보안그룹 - 인바운드 규칙 편집 - 규칙 새로 만들기!

이렇게 설정해줍니다.

이렇게 하고 할당받은 IP뒤에 :8080 을 해주면?!?

와! 나왔다!!

배성!! 배포 성공이라는 뜻.

 

*AWS의 데이터베이스에서도 연결이 되어 있어야 합니다. 인바운드 규칙에서 규칙 편집 !!
=> 데이터베이스의 보안그룹과 ec2 인스턴스의 보안그룹이 같아야함!

 

[리눅스 삭제하기]

이젠 눈물을 머금고 한번 제거해보도록 하겠습니다. 눈물난다.

위 아래를 보면 맨 첫번째에 있는 아파치가 사라졌다는것을 확인 할 수 있습니다.

이렇게 하면 삭제가 되고요, 이상입니다!