클라우드 웹 서버 구축

김규원·2025년 10월 27일

클라우드

목록 보기
5/17
post-thumbnail

Unix/Linux

Unix(유닉스)

  • 1970년대 초 미국 AT&T 사의 벨 연구소에서 개발됨
  • 캔 톰슨, 데니스 리치 등에 의해 다중 사용자 운영체제로 개발
  • 연구소 등의 슈퍼 컴퓨터와 같은 중대형 컴퓨터에 주로 사용

Linux(리눅스)

  • 1990년대 초 리눅스 토르발스에 의해 PC용 운영체제로 개발됨
  • 서버, 데스크톱, 임베디드 시스템 등 여러 환경에서 널리 사용

특징

  1. 오픈 소스 소프트웨어
  2. 소스코드가 공개 되어있어 누구나 수정, 배포 가능
  3. 이로 인해 큰 유연성을 가짐
  4. 멀티 유저 및 멀티 태스킹 지원
  • 여러 사용자가 동시에 시스템에 접근 가능
  • 여러 작업을 동시에 수행할 수 있음
  1. 강력한 네트워크 기능
  • 안정적인 네트워크 기능을 제공
  • 서버 운영에 적합
  • 다양한 인터넷 서비스 기능 존재
  1. 다양한 파일 시스템 지원
  • ext2, ext3, fat32, ntfs 등 다양한 파일 시스템을 지원
  • 유연한 데이터 관리가 가능

리눅스 배포판

  • 리눅스는 여러 종류의 배포판이 존재
  • 각 배포판은 특정 용도와 사용자 그룹을 타겟으로 함

1. 우분투(Ubuntu)

  • 사용자 친화적
  • 데비안 기반
  • 일반 사용자에게 적합

2. 레드햇(RedHat)

  • 기업 환경에서 많이 사용
  • 안정성과 보안성이 높음
  • 유로 지원 제공

3. 센트 OS(Cent OS)

  • 레드햇의 소스를 기반으로 한 무료 배포판
  • 기업에서 많이 사용

4. 데비안(Debian)

  • 안정성이 높음
  • 패키지 관리가 용이
  • 서버 환경에서 주로 사용

5. 칼리 리눅스(Kali Linux)

  • 보안 테스트 및 해킹 도구를 포함한 배포판

리눅스의 장단점

장점

  1. 비용 효율성
  • 대부분 무료로 제공
  • 라이선스 비용이 없음
  1. 안정성
  • 높은 안정성을 제공
  • 서버 운영에 적합
  1. 보안성
  • 다중 사용자 체제로 설계
  • 보안성이 높음
  • 바이러스와 멀웨어의 위협이 상대적으로 적음
  1. 커스터마이징
  • 오픈 소스로 인해 필요에 따라 시스템 자유롭게 수정 가능

단점

  1. 초기 학습 곡선
  • 명령줄 인터페이스에 익숙하지 않은 사용자에게 어려움
  1. 소프트웨어 호환성
  • 일부 상용 소프트웨어가 리눅스를 지원하지 않거나 설치가 어려움
  1. 하드웨어 호환성
  • 특정 하드웨어에 대한 드라이버 지원이 부족할 수 있음

리눅스의 응용

서버 운영

  • 웹 서버, db 서버 등에서 널리 사용

임베디드 시스템

  • 스마트폰(안드로이드), 라우터, IoT 기기 등에서 사용

개인 컴퓨터

  • 데스크톱 환경에서도 사용
  • 특히 개발자와 기술자들 사이에서 인기가 높음

클라우드에서의 리눅스 서버

  • Azure는 다음과 같은 주요 리눅스 배포판 제공
  1. RedHat Enterprize Linux
  2. Ubuntu
  3. Cent Os
  4. Debian
  5. SUSE Linux Enterprise Server(SLES)
  6. Oracle Linux
  7. Alma Linux
  8. Rocky Linux
  9. CBL-Mariner(MS의 AZURE LINUX)

이러한 배포판들은 AZURE MARKETPLACE에서 제공

  • AZURE는 사용자가 직접 커스텀 LINUX 이미지를 업로드하여 사용할 수 있는 옵션도 제공
  • AZURE LINUX AGENT는 이미지에 이미 사전 설치되어 있어 대부분의 배포판에서 바로 사용 가능
  • 마지막으로 ALMA LINUX가 최근 AZURE의 공식 지원 배포판으로 추가되었음
  • 이는 CENT OS의 지원 종료에 대응하여 나온 결, 엔터프라이즈 급 안정성과 보안을 제공하는 또 다른 옵션이 되었음

SSH(Secure Shell)

  • SSH는 원격 호스트 컴퓨터에 안전하게 접속하기 위해 사용되는 네트워크 프로토콜
  • 즉, 암호화된 통신을 통해 원격 시스템에 안전하게 접속할 수 있게 해주는 프로토콜
  • 1995년에 개발되어 기존의 텔넷(Telnet)이나 rlogin등을 대체
  • 모든 통신 내용을 암호화하여 보안성을 크게 향상 시킴

SSH의 특징

  1. 모든 데이터를 암호화하여 전송
  2. 22번 포트를 기본적으로 사용
  3. 클라이언트-서버 모델로 동작
  4. 대칭키, 비대칭키, 해시 알고리즘을 사용하여 인증 및 암호화를 수행

SSH(Secure Shell)접속 방법

ssh [옵션] [사용자명] @ [호스트명 또는 IP주소]

예시

ssh user@192.168.0.1 ssh -p 2222 user@example.com

  • -p: 포트 번호 지정
  • -i: ssh 키 파일 지정
  • -v: 상세 로그 출력

실습

  1. 리소스 그룹 생성
  2. VM 설치
  3. SSH 연결
  4. 리눅스 기본 명령어 실습
  • date: 날짜 및 시간 출력
  • hostname: 호스트명 출력
  • uname: 시스템 정보 출력
  • who: 현재 로그인한 사용자 정보
  • passwd: 패스워크 변경
  • clear: 화면을 지움
  • man: 명령어에 대한 매뉴얼을 보여줌
  • ps: 터미널에서 프로세스 표시

리눅스 파일 및 디렉토리 관련 명령어

  • ls: 현재 디렉토리의 파일 정보 표시
  • pwd: 현재 작업 중인 디렉토리 표시
  • mkdir: 디렉토리 생성
  • cd: 다른 디렉토리로 이동
  • rmdir: 디렉토리 목록에서 빈 디렉토리를 삭제
  • cp: 한 디렉토리에서 다른 디렉토리로 파일 복사
  • mv: 파일의 이름을 변경하거나 파일을 이동
  • rm: 파일을 삭제

리눅스 파일 관련 명령어

  • cat: 파일의 내용을 출력해 준다
  • touch: 빈 파일을 생성해 준다
  • grep: 파일의 내용 중에서 조건에 맞는 것을 찾아 준다
  1. vi 에디터 실습
profile
행복한 하루 보내세요

0개의 댓글