교재 EC2 인스턴스 작성 -1
대시보드 인스턴스 - 인스턴스 시작 - EC2 인스턴스 생성
- 이름 : exercise-instance1
- AMI : Amazon Linux2 AMI(HVM) - Kernel 5.10
- 인스턴스 유형 : t2.micro(기본값)
- 키패어 : 기존 키페어 사용
- 네트워크 설정 : 기존 보안 그룹 선택(ssh, web)
- 스토리지 구성 : 8(기본값)
- 인스턴스 시작
MobaXterm을 이용해 원격 접속
p24 명령어
sudo yum install git -y -> EC2 서버에 git(형상관리) 설치
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.9.0
→ ~ : 홈 디렉토리를 의미. 현재 접속자가 ec2-user이므로 /hom/ec2-user를 가리킴
→ ~/.asdf => /home/ec2-user/.asdf와 같음
→ '.'으로 시작하는 파일 또는 디렉토리는 숨김 파일과 같음
→ ls -a => 숨김 파일을 확인(파란색 폴더를 뜻함)
=========================================================================
※리다이렉션(231215 참조)
echo $HOME => $ 멤버 변수(시스템)
echo $HOSTNAME
echo $PATH
=========================================================================
echo . $HOME/.asdf/asdf.sh >> ~/.bashrc
=> $HOME : 시스템 환경 변수 중 하나. 접속 유저의 홈 디렉토리를 변수값으로 가지고 있음
=> 리눅스의 사용자마다 자신의 홈 디렉토리에 .bashrc라는 파일을 가지고 있음.
=> 이 파일은 사용자가 접속하게 되면 초기 설정을 해주는 역할을 함
=> '>>' : 리다이렉션 기호,
echo 명령어는 화면에 뒤에 나올 문장을 출력해주는데 출력 방향이 모니터가 아닌 파일에 넣고자 할 때 사용
=> .sh 파일은 쉘 스크립트 파일을 의미. 특정한 명령어가 미리 설정 되어 있고 .sh 파일을 실행하면 예약된 명령어가 실행
=========================================================================
※쉘(Shell)
-명령어를 해석하는 역할
-리눅스 구조 : 사용자(응용 프로그램) - 셸(Shell) - 커널(Kernal) - 하드웨어
=========================================================================
source ~/.bashrc
=> .bashrc 파일을 수정하면 적용을 시켜야함 1) 리눅스를 재시작 2)source 명령어로 재시작을 하지 않고 적용하는 방법 사용
cat ~/.bashrc
=========================================================================
※asdf 패키지(프로그램)
-버전 관리 툴
-프로젝트 별로 사용하는 언어의 버전이 다른 경우 다양한 어너의 버전 별로 관리 가능
-언어별 버전 매니저를 사용, GO는 gvm, Node.js는 nvm, ruby는 rbenv를 사용
-다양한 버전 매니저를 하나의 도구로 사용할 수 있는 것이 'asdf'
asdf 특징
-asdf 명령어 하나로 여러 언어의 버전을 관리할 수 있음
-global 또는 프로젝트(local)별로 사용 언어 버전을 지정할 수 있음
-plugin 방식을 사용하여 여러 가지 프로그램 을지원
asdf 사용방법
1. asdf를 설치(위에서 설치함)
2. 언어별 plugin 설치
3. plugin 설치 후 원하는 버전을 설치
4. 프로젝트 별로 사용하는 버전을 지정
=========================================================================
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git => nodejs의 plugin 설치
asdf install nodejs 16.14.0 => 원하는 버전 설치
asdf global nodejs 16.14.0 => 모든 프로젝트가 nodejs를 사용 시 기본 버전 16.14.0을 사용하도록 global 설정을 함
node -e "console.log('Running Node.js' + process.version)" => Node.js 설치가 잘 되었는지 확인, process.version 항목이 global 버전으로 대체되어 출력, Running Node.jsv16.14.0
p.25
cd /var => /var로 이동, cd: change directory
sudo mkdir www =>www를 /var 아래에 만드는 명령어
※절대경로 : '/'로 시작하는 경로. 절대경로를 통해 다른 위치에서도 해당 경로를 지정할 수 있음
sudo chown ec2-user www => chown : change owner 소유권을 변경. sudo mkdir www 명령어에 의해 만들어진 www 디렉토리는 root 소유자로 되어 있음. ec2-user가 사용할 수 있도록 소유권을 변경
cd /var/www => /var/www/ 디렉토리로 이동
git clone https://github.com/deopard/aws-exercise-a.git => 샘플 프로젝트 aws-exercise-a를 /var/www 아래로 다운로드
cd aws-exercise-a => aws-exercise-a 디렉토리로 이동
npm install => npm : node package manager, Node.js에서 사용하는 의존성 패키지를 쉽게 관리할 수 있게 도와주는 프로그램
=========================================================================
웹 서버(nginx)와 웹 에플리케이션 서버(phusion passenger) 설치 p30
cd /var/www => /var/www 디렉토리로 이동
wget http://s3.amazonaws.com/phusion-passenger/releases/passenger-6.0.12.tar.gz => 현재 위치한 /var/www 디렉토리에 압축 파일인 passenger-6.0.12.tar.gz을 다운로드 => EC2 서버를 웹 애플리케이션 서버(WAS)로 동작 시키기 위해 phusion-passenger를 설치, Tomcat과 같은 역할을 함. phusion-passenger는 Node.js, Python, Ruby, Meteor 언어를 지원
ls => passenger-6.0.12.tar.gz 확인 가능
sudo mkdir /var/passenger => /var/passenger 디렉토리를 생성
sudo chown ec2-user /var/passenger => sudo 명령어를 통해 root 소유자로 지정되어 있는 /var/passenger 디렉토리를 소유자를 ec2-user로 변경
tar xvfz passenger-6.0.12.tar.gz => 현재 위치한 디렉토리 아래에 압축해제 됨, 압축형태가 .gz이므로 z 옵션을 사용하여 압축해제, 만약, .xz라면 J, .bz2라면 j를 옵션을 사용. 압축해제 시 현재 위치한 디렉토리가 아닌 다른 디렉토리에 해제하고자 할 때 '-C 파일위치'를 사용
tar xvfz passenger-6.0.12.tar.gz -C /var/passenger => 압축해제와 묶음파일 풀기를 동시에 진행하여(xvfz) -C 옵션 뒤에 설정한 경로(/var/passenger)에 파일들을 위치시키는 명령어
ls /var => passenger 디렉터리 확인
※리눅스 파일 압축 및 해제
윈도우에서의 파일 압축과 리눅스에서의 파일 압축은 동작이 다름
윈도우의 경우 파일을 묶고 용량을 낮추는 과정이 한 번에 이루어짐
리눅스의 경우 파일을 묶고(tar) 용량을 낮추는 과정(xz, bz, gz 등)이 따로 이루어짐
1. 파일 묶기
-tar 명령어 사용
-파일 용량이 줄어드는 것은 아님.
touch test.txt text2.txt => touch : 비어있는 파일(빈 파일)을 만듦
ls
tar cf t.tar test.txt test2.txt
※tar 명령어의 옵션은 -를 생략해도 됨. c: 새로운 묶음 파일을 만듦. f(필수) : 묶음 파일의 이름을 지정. v(선택) : visual의 의미로 파일이 묶이거나 풀리는 과정을 화면에 보여줌. x : 묶음을 풀 때 사용
rm *.txt
※rm : remove 파일을 삭제할 때 사용, *: 하나일수도 있고 여러 개 일수도 있음. *.txt : 확장자가 txt로 끝나는 모든 파일
리눅스에서는 물어보지 않음. 삭제를 하면 바로 삭제됨. 리눅스에서는 반드시 수정, 삭제
tar xvf t.tar => t.tar 묶음을
ls => test.txt, test2.txt가 화면에 보임
2. 파일 압축
압축 방식 : xz, bzip2, bunzip2, gzip, gunzip, zip 등
xz
압축 : xz 파일이름 => 파일이름.xz 생성, 압축해제 : xz -d 파일이름.xz
bzip2
압축 : bizip2 파일이름 => 파일이름.bz2 생성, 압축 해제 bzip2 -d 파일이름.bz2
gzip
압축 : gzip 파일이름 -> 파일이름.gz 생성, 압축해제 : gzip -d 파일이름.gz
gzip t.tar => t.tar.gz 파일이 생성
정리 tar는 파일들을 묶는 기능을 하는 것이고, 용량을 줄이기 위해서는 압축 과정이 필요
예) apache-tomcat-9.0.83.tar.gz을 해제하려면 1) 압축해제, 2) 묶음 해제
=> tar 명령어에 xvfz 'z'옵션을 쓰면 .gz 파일의 압축 해제를 동시에 진행할 수 있음
'KDT > Cloud' 카테고리의 다른 글
240202 Cloud (0) | 2024.02.02 |
---|---|
240124 Cloud (0) | 2024.01.24 |
240112 Cloud (0) | 2024.01.12 |
240105 Cloud (0) | 2024.01.05 |
231229 Cloud (0) | 2023.12.29 |