서버(클라우드 정의, 서버구축과 생성 및 접속, FileZilla, Apache)

2022. 11. 19. 22:41WEB개발/TIL

반응형

서버

: 클라이언트에게 네트워크를 통해 서비스를 제공하는 컴퓨터

 

 

서버 구축 방법

1) 본인의 컴퓨터를 직접 서버로 구축하는 방법

2) 일정 요금을 내고 외부 서버를 임대해 사용하는 방법

  • 서버 호스팅

서버 호스팅

    : 서버 한 대(물리적으로 존재하는 컴퓨터 한 대)를 통째로 임대하는 방법

      자체적인 관리 필요

      #  컴퓨터의 작동 환경을 마음껏 유동적으로 설정 가능

      #  웹 호스팅에 비해 가격이 비쌈

 

  • 웹 호스팅

웹 호스팅

    : 서버 한 대의 일정 저장공간만 임대하여 다른 사용자들과 해당 서버를 공유하는 방법

    #  서버 호스팅에 비해 가격이 저렴함

    #  서버 자체를 웹 호스팅 사에서 운영(쉽게 이용 가능함)

    #  트래픽, 용량 등 사용상의 제약이 있을 수 있음

 

 

 

 

클라우드 서버

: 실제 물리적인 컴퓨터 한 대로 서버를 운영하는 것이 아닌 VM(Virtual Machine; 가상머신)으로 서버를 운영하는 방식

  • 프로그램으로 가상의 컴퓨터(서버)를 하나 생성해 이용하는 방법

 

[  장점  ]

1) 짧은 시간 안에 서버를 하나 뚝딱 만들 수 있음

2) 물리적인 컴퓨터 한계를 넘어 무한대의 저장 공간을 이용할 수 있음

3) 이론상 아무리 접속량이 많아도 다운되지 않는 서버를 만들 수 있음

 

[  클라우드 모델  ]

  • 퍼블릭 클라우드

퍼블릭 클라우드

    : 특정 기업이나 사용자를 위한 서비스가 아닌 인터넷에 접속 가능한 모든 사용자를 위한 클라우드 서비스 모델

      불특정 다수에게 컴퓨터 자원(서버, 스토리지 등)을 빌려주는 형태

      ex) 아마존 웹 서비스(AWS)의 EC2가 대표적

  • 프라이빗 클라우드

프라이빗 클라우드

    : 제한된 네트워크 상에서 특정 기업이나 특정 사용자만 대상으로 하는 클라우드 서비스 모델

      기업의 내부 클라우드 서비스 구축 및 활용, 기업 내부에 구축되어 있어 기업만이 자원을 제어할 수 있음

  • 하이브리드 클라우드

하이브리드 클라우드

    : 퍼블릭 클라우드와 프라이빗 클라우드를 병행해 사용하는 방법으로 알려졌으나 최근에는 클라우드(가상 서버)와 온프레미스(물리 서버)를 결합한 형태를 말하기도 함

 

 

 

 

 

 

 


서버 구축(NCP이용, 무료)

참고) https://guide.ncloud-docs.com/docs/compute-compute-1-1-v2

 

Naver Cloud Platform(NCP) 접속

> 콘솔 클릭

> Platform 메뉴의 Classic 클릭하여 Classic환경으로 변경

> Services > Compute > Server 메뉴를 차례대로 클릭

> 서버 생성 버튼 클릭

setting 예시

  • 부팅 디스크 선택: 50GB
  • OS 선택: 리눅스 운영체제 중 Ubuntu 18.04 버전 선택
  • 서버 타입: micro ( 미선택 시 요금 부과 )

 

>>> 다음페이지

setting 설명2

  • 서버 설정: Zone 서버 위치 결정 ( kr로 시작하는 것은 서버를 한국에 위치시키겠다는 것 )
    • ZONE 이 1과 2로 나뉘어져 있는 이유는 “가용성 영역(Availability zone)”이라는 것을 나눈 것
    • 데이터 센터 오류로 인한 가동 중지 시간이 발생했을 경우 데이터를 보호하기 위함이며, 같은 지역 내의 데이터 센터를 물리적으로 분리해 데이터를 보호함

 

  • 스토리지
    • HDD: SSD보다 성능이 좋지 않은 것. 1년 무료 사용 가능한 micro 서버에서 사용 가능
    • SSD: HDD보다 성능이 좋지만 micro 서버에서 사용 불가능(요금 부과)

 

  • 서버 이름: 자유롭게 지정
  • 반납 보호

 

>>> 다음페이지

  • 인증키
    • 나중에 본인의 서버의 관리자임을 증명할 일이 생겼을 경우, 사용하기 위한 키(key)파일
    • 보관 필수!
    • pem인증키 파일이 생성됨

 

>>> 다음페이지

방화벽 관련 참고)  https://guide.ncloud-docs.com/docs/compute-compute-2-3
  • ACG(방화벽)
    • 어떤 포트를 개방할 지 설정하는 방화벽
    • 보유하고 있는 ACG 중에서 선택 → default-acg
    • 서버 생성 후 22번 포트 활성화(TCP, 0.0.0.0/0, 22)

 

>>> 서버 생성!

서버 관련 참고)  https://guide.ncloud-docs.com/docs/ko/compute-server-manage 

 

>>> 서버 생성 후 공인 IP 신청하기

공인 IP 관련 참고)  https://guide.ncloud-docs.com/docs/ko/compute-compute-2-1-v2
  • 첫 가입시 무료로 증정하는 크레딧 사용하면 무료로 이용 가능

 

 

 

 

 

 

서버 접속

PuTTY

: 원격 프로토콜을 사용하기 위한 틀 또는 프로그램

  • 여러 프로토콜 중 SSH 프로토콜을 사용하여 window 환경에서 리눅스를 작업할 때/접속할 때 사용하는 툴
프로토콜? 컴퓨터와 컴퓨터, 컴퓨터와 서버 등 통신을 하기 위한 통신 규약

 

 

PuTTY 사용방법

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
>> package files에서 컴퓨터 사양에 맞는 파일 다운로드 하기

 

>>> 열기

putty setting 설명

  • Host Name: 본인 IP주소 넣기
  • Port: 22번 포트로 열기
  • Connection type: SSH
  • Saved Sessions: 저장하고 싶은 이름으로 자유롭게 지정

 

>>>

putty setting 설명2

  • 처음 IP 접속 시 뜨는 창 > Accept버튼 클릭

 

 

[  서버 비밀번호 변경하기  ]

  • NCP 들어가기
  • Server에서 비밀번호 확인(사진 참고)

비밀번호 확인 방법

  • PuTTY 실행하여 서버 접속
  • login 후 passwd 명령어 입력
  • 새로운 비밀번호 설정

 

 

 

 

 

서버 설정

웹 서버

  • 소프트웨어 측면: 웹 서버는 HTTP와 같은 프로토콜을 통해 넘어 온 클라이언트의 요청HTML과 같은 웹 페이지로 응답하는 소프트웨어  ex) nignx, apache
  • 하드웨어 측면: nignx나 apache와 같은 소프트웨어가 실제로 동작하고, 웹 페이지의 데이터를 실제로 저장하는 서버(컴퓨터)를 의미
    • 웹 서버는 인터넷에 연결되어 IP주소로 식별되고, 이 주소를 통해 클라이언트와 연결

 

Apache

: http 표준을 준수하도록 구축된 오픈 소스 형식의 웹 서버

 

[  설치 방법  ]

  • PuTTY 열기

    >  apt-get update 입력

    >  apt-get install apache2 입력

설치 후 Apache 상태 확인하는 방법
: systemctl status apache2 입력
  • ACG설정을 통해 80번 포트 활성화(TCP, 0.0.0.0/0, 80)
  • 웹 브라우저에서 IP 접속하기: http://IP주소/

 

 

 

 

FileZilla

: FTP(File Transfer Protocol; 파일 전송 프로토콜)로 서버에 있는 파일을 컴퓨터로 받을 수 있으며 컴퓨터에서 파일을 수정 후 다시 서버로 업로드 가능하게 함.

 

 

[  사용 방법  ]

https://filezilla-project.org/ 접속
>> "DownloadFileZilla Client" 클릭 후 파일 다운로드

 

>>>  열기

FileZilla 연결 방법

>>>  연결 완료!

 

 

 

 

 

IP주소

: 데이터를 주고 받기 위해 사용되는 주소(address)

IP설명

[ 공인 IP vs 사설 IP ]

  • 공인 IP

    외부에 공개되어 있는 IP

    서버 구축을 위해 사용하고, 우리가 서버에서 사용하는 것도 공인 IP

    공개되어 있기 때문에 누구나 검색, 접근 가능

  • 사설 IP

    로컬 IP, 가상IP 라고 불리며, 외부에서 접근할 수 없는 IP

    IPv4 체계의 IP 주소 부족 문제를 해결할 수 있는 방안

 

 

[ 유동 IP vs 고정 IP ]

  • 유동 IP

    : 기기에 고정적으로 IP를 부여하지 않고 IP갱신 주기가 되었거나 기기를 껐다 켰을 때 남아 있는 IP를 골라 IP를 할당해주는 것

    ex) 와이파이 공유기

  • 고정 IP

    : 사용자가 직접 IP 주소를 입력해 주소를 설정하는 방식

    IP를 한 번 부여 받으면 반납 전까지 해당 IP를 할당받음.

 

 

 

[ 도메인(Domain) ]

: 웹 브라우저를 통해 특정 사이트를 집입할 때 IP 주소를 대신해 사용하는 주소

  • 한 눈에 파악하기 힘든 IP 주소를 보다 분명하게 나타내기 위해 사용

    ex) 카페24, 호스팅KR 등

 

 

 

[ DNS(Domain Name System) ]

  • IP 주소와 특정 도메인 주소가 같다는 것을 지정해두고, 인터넷 사용자들이 도메인 주소를 검색했을 때 IP 주소로 연결되도록 해주는 것
반응형

'WEB개발 > TIL' 카테고리의 다른 글

Node.js(정의, 특징, 사용방법, REPL)  (0) 2022.11.21
개발이론 및 git 추가 정리(branch, merge)  (0) 2022.11.19
JQuery 이벤트 리스너  (0) 2022.11.16
JQuery  (0) 2022.11.16
프레임워크와 라이브러리  (0) 2022.11.16