리눅스 (Linux)
- 리누스 토발즈 (Linus Torvalds) 개발, 서버에 많이 사용되는 운영체제
- client -> HTML 파일 요청 -> server -> HTML 파일 전달 -> client
- 클라우드 컴퓨팅(AWS), 도커 등의 서버 기본 기술과도 함께 더욱 많이 사용됨
- 다중 사용자, 다중 작업(시분할 시스템, 멀티 태스킹)을 지원하는 유닉스(UNIX)와 유사한 운영체제
클라우드 컴퓨팅 설정
- 리눅스 사용법을 익히기 위해 리눅스 환경 구축
- 클라우드 컴퓨팅 서비스 : 서버 환경을 미리 구축해놓고, 간단한 설정으로 바로 사용할 수 있도록 만든 서비스
- AWS (Amazon Web Service) 프리티어 계정 생성 (무료 1년 사용 가능, 그 후 계정 닫음)
https://aws.amazon.com/ko/free/
설정 과정 (계정 생성 후)
- 우분투 리눅스 OS 기반
1) EC2(서버)검색 -> 지역 [서울] 선택 -> [인스턴스] 탭
[인스턴스 시작] -> Ubuntu Server 20.04 선택 (프리 티어), t2 micro 선택 (프리 티어), 키 페어 생성, 30gb 설정
[새 키 페어 생성] -> .pem 파일 다운로드 확인
[인스턴스 시작] -> 인스턴스 생성 완료
[인스턴스 상태] 대기중 -> 실행 중 (자동)
탄력적 IP 생성 -> 할당 -> 탄력적 IP 주소 연결 -> 인스턴스 연결 -> 연결
퍼블릭 IPv4 주소가 탄력적 IP로 변경된 것을 볼 수 있다
PUTTY 다운로드
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
1) putty.exe
2) puttygen.exe
puttygen 실행 -> conversions -> import 후 위에서 저장한 .pem 파일 추가
Save private key를 이용해 저장한다
.ppk 파일이 생긴 것을 볼 수 있다 ( ppk는 윈도우에서 원격으로 접속할수 있게 해주는 파일)
PUTTY -> 원격으로 접속 완료!
whoami
현재 로그인한 사용자의 ID를 알려줌
*root (슈퍼 관리자 ID) : 잘 사용하지 않음
sudo 명령어 : root 권한으로 실행하기
root 계정으로 로그인 하지 않은 상태에서 root 권한이 필요한 명령을 실행할 수 있도록 하는 프로그램
sudo apt-get update
pwd : 현재 디렉토리 위치
cd : 디렉토리 이동
ls : 파일 목록 출력
ls -al : 숨김 파일 포함 상세한 정보 출력
man ls : ls명령의 옵션 메뉴얼
VIM 에디터 이해하기
VI - Vim,이맥스
설치
리눅스 : sudo apt-get isntall vim
vi가 이미 깔려있는 것을 볼 수 있다
텍스트 파일 생성 : vi mytest.txt
저장하기 나가기 : wq
입력 모드 진입 (하단에 --INSERT--라는 문구 출력)
a 포커스가 닶힌 커서의 다음 문자열에서 편집 모드 시작
i 포커스 잡힌 커서 위치에서 편집모드 시작
삭제 (일반모드에서 실행)
x 커서의 한 문자 삭제
파일저장
:w 현재 오픈된 파일 저장
:q 저장하지 않고 종료 (quit)
:wq 현재 오픈된 파일 저장 후 종료
:q! 강제 종료 (대소문자 구분)
Visual 모드 (일반모드에서 실행)
v 블럭 복사/붙이기
쉘 스크립트의 이해
쉘을 사용해서 프로그래밍을 할 수 있음
서버 작업 자동화 및 운영(DevOps)을 위해 기본적으로는 익혀둘 필요가 있음
쉘 명령어를 기본으로 하되, 몇 가지 문법이 추가된 형태
시스템 프로그래밍에서 꼭 익히는 내용 중 하나
좋은 개발자들은 알고 있지만 필수는 아님
쉘 스크립트 예
문제점
- 서버가 어느날 다운되었다 확인해보니 서버 저장공간이 하나도 남지 않음 로그 파일 업데이트가 안되어 관련 프로그램 비정상 종료 이유는 로그 파일이 많이 쌓여있음 어떻게 하면 자동으로 오래된 로그 파일을 삭제할까?
해결
- 간단한 쉘스크립트 생성 및 주기적 실행
기본 문법
쉘 스크립트는 파일로 작성 후, 파일을 실행
파일의 가장 위의 첫 라인은 "#!/bin/bash"로 시작
쉘 스크립트 파일은 실행 권한을 가지고 있어야 함
일반적으로 '파일이름.sh'와 같은 형태로 파일 이름을 작성함
아이디 관련 정보 변수 만들기
- 실제 이름, 나이, 직업
Xshell 접속
'Web Develop' 카테고리의 다른 글
2. 사용 및 적용 [Git / Github] for Windows (0) | 2023.06.21 |
---|---|
1. 설치 및 셋업 [Git / Github] for Windows (0) | 2023.06.20 |
댓글