생활코딩

Coding Everybody

코스 전체목록

닫기

웹서버 운영하기

웹서버 소개

 

 

---

 

 

이번 시간에는
내 컴퓨터에 웹서버를 설치해서
다른 컴퓨터에서 웹페이지를
볼 수 있도록 해 보겠습니다.

이 과정은
꽤 많은 지식이 필요하므로
좀 어렵습니다.

 

 

대신 인터넷이 동작하는 원리를
알 수 있다는 것은 큰 장점입니다.

그리고 한 가지 당부드리고 싶은 것은
실습이 잘 작동하지 않을 가능성이 매우 높아요.
인터넷은 실제로는 매우 복잡한 시스템이거든요.
제대로 작동하는 이유는 한 가지입니다만,
작동하지 않는 이유는 수십 가지가 넘기 때문입니다.

혹 작동하지 않는다고 걱정할 필요는 없습니다.
실제로는 웹호스팅을 많이 사용하거든요.
그냥 제대로 동작하고 있다고 치면 됩니다.
우리에게는 상상력이 있잖아요.

물론,
문제를 해결하기 위해서 노력하는 것은
언제나 좋은 자세입니다.
대신,
이것만 기억해 주세요.

 

 

우리가 하나의 문제를 해결하는데
며칠이 걸릴 수도 있습니다.

하지만
그 과정에서 수많은 지식과 경험을 얻게 됩니다.
하나의 문제를 해결했을 뿐이지만, 
더 많은 문제를 해결할 수 있는 능력을 갖추게 된 것입니다. 

우선 우리가 해야 할 일은
자신의 컴퓨터에
웹서버라는 프로그램을
설치해야 합니다.

웹브라우저는
제품명이 아니라
제품군이죠?

 

 

웹서버도 마찬가지입니다.
웹서버라는 제품군에는
여러 제품이 있습니다.

 

 

Apache
IIS
Nginx

 

 

이 중에서
우리가 사용할 소프트웨어는
Live server입니다. 

 

 

 

 

 

 

이 도구는 아주 작지만, 실용적인 웹서버입니다. 
visual studio code의 확장 기능으로서 실행되는 프로그램입니다. 

Visual studio code에 대한 사용법을 모르신다면
아래 토픽을 먼저 봐주세요. (소요시간 5분)
HTML 코딩 실습 준비

 

 

 

Visual studio code의 확장기능에서 
Live server를 검색하고 
설치합니다. 

 

 

 

 

 

 

오른쪽 아래에 Go Live 버튼이 생깁니다. 

 

 

 

이 버튼을 클릭하면 Port : 5500이 표시됩니다. 
성공적으로 웹서버가 실행되었습니다!

 

 

 

동시에 
http://127.0.0.1:5500/ 주소로 
웹페이지가 실행됩니다. 

직접 구축한 웹서버를 통해서 
웹사이트를 서비스할 수 있게 되었습니다. 
축하합니다!  

 

 

 

참고로,
Live Server는
클라이언트의 요청이 들어왔을 때 
Visual Studio Code의 프로젝트 폴더에서 파일을 찾습니다. 
경로에 파일명이 없으면 index.html 파일을 응답해줍니다. 
예를들면 아래와 같습니다.
http://127.0.0.1:5500/1.html => 1.html 응답
http://127.0.0.1:5500/ => index.html 응답

 

 

 

Live server의 또 다른 기능은
실시간 편집 기능입니다. 
코드를 수정하면 
웹페이지를 새로고침 하지 않았음에도 
내용이 실시간으로 변경됩니다.
대박이죠!

 

 

 

웹서버의 존재감을 확인해보기 위해서
웹서버를 꺼보세요.
웹사이트가 열리지 않습니다. 

다시 켜고 접속해보면 정상적으로 웹페이지가 열립니다. 

 

 

 

웹서버를 통해서 웹페이지를 여는 것과 
파일 찾기를 통해서 웹페이지를 여는 것은 구체적으로 어떤 차이가 있을까요? 

 

 

 

주소를 비교해보겠습니다. 

파일 찾기로 열었을 때 : file///Desktop/web/index.html
웹서버를 통해서 열었을 때 : http://127.0.0.1:5500/index.html
이것을 그림으로 나타내면 아래와 같습니다. 

 

 

 

웹서버로 접속한 주소를 자세히 살펴볼까요?

http는 HyperText Transfer Protocol로서 
웹페이지를 주고받기 위한 통신규약이라는 뜻입니다. 

 

127.0.0.1은 Internet Protocol Address로서 
인터넷에서 사용하는 주소를 의미합니다. 
IP Address는 0.0.0.0부터 255.255.255.255까지의 주소가 존재합니다. 
약 43억 개의 주소가 존재합니다. 
이렇게 많은 주소 중에서
127.0.0.1은 내 컴퓨터 자신을 가리키는 특별한 주소입니다. 

 

Port는 컴퓨터에 여러 개의 서버가 동작하고 있을 때 
서버를 구분하는 정보입니다.
위의 그림에서는 주소의 port 번호가 5500이므로
5500에서 동작하고 있는 Web Server와 통신하게 됩니다. 

 

 

그런데 같은 컴퓨터에 설치된 
웹브라우저와 웹서버가 정보를 주고받는 것은 
현실 세계의 웹과는 다르죠?
혼잣말 같은 것입니다. 
서로 다른 컴퓨터끼리 정보를 주고받을 수 있어야 합니다. 

그런데 컴퓨터가 한 대밖에 없다고요?
아닐걸요? 스마트폰이 있잖아요!
스마트폰은 전화기의 탈의 쓴 컴퓨터입니다. 

 

 

 

스마트폰에 설치된 웹브라우저와 
실습용 컴퓨터에 설치된 웹서버가 
서로 통신할 수 있다면 얼마나 좋을까요? 
해봅시다!

 

 

 

그런데 시작하기 전에 강조 드릴 것이 있습니다. 
이 작업은 10명 중 1명 정도만 성공할 것입니다. 
성공하는 이유는 하나인데 실패하는 이유는 백 가지가 넘거든요. 
혹시 실패했다고 해도 성공했다고 간주해주세요. 
믿으면 됩니다. 

 

 

 

우선 해야 할 일은 
스마트폰과 컴퓨터를 같은 네트워크에 연결해야 합니다. 
쉽게 말해서 같은 와이파이에 접속해주세요. 
예를 들어서 노트북이 ego-5G에 접속되어 있다면 
스마트폰도 ego-5G에 접속되어야 합니다. 

 

 

 

또 하나 해야 할 것이 있습니다. 
웹서버가 설치된 컴퓨터의 IP address를 따내는 것입니다. 
Visual studio code의 확장 기능 중 ip address를 설치합니다. 

오른쪽 아래에 ip address가 표시 됩니다. 

위의 그림을 보면 우리가 사용할 주소는 
http://172.30.1.83:5500/ 입니다. 
접속해보세요.

 

 

 

 

축하합니다. 

한 대의 컴퓨터를 초월해서 
전 세계에 있는 수많은 컴퓨터를 
마치 내 컴퓨터인 것처럼 사용할 수 있게 된 
웅장한 진보를 목격하신 것입니다!

댓글

댓글 본문
  1. 죠르지오
    선생님 이런 값진 강의를 무료로 제공해주셔서 감사드립니다.! 매 강의를 들으면서 감탄하고, 선영향을 전해주셔서 저에게 있어서 배움에 대한 엄청난 변화의 순간이 찾아온 것 같아요. 감사합니다. 23.02.05
  2. 문등리 까마귀
    2023.02.01 20:59
  3. 고원규
    2023.02.01
  4. 고세구300m
    23.01.28 완료
  5. 고라니
    공유기를 사용한다면 포트포워딩이라는것을 이용하셔야합니다.
    대화보기
    • Hertz
      2023-01-28
    • 열공강아지
      1/27
    • TheDuck
      2023. 01. 18 완료
    • 참진
      ㅠ ㅠ 폰으로 너무 켜보고 싶네요 ㅋㅋㅋㅋㅋㅋㅋㅋ
    • 오오
      22.12.22
    • 민권
      22.12.22
    • 감자
      22.11.23 복습 다시시작!
    • 빵먹고싶다
      22.11.22
    • 22.11.18-2
    • 무즈
      2022.11.7 ㅎㅇㅌ
    • 연뿌리
      감사합니다. 덕분에 확인할 수 있었습니다. ㅎㅎ
      대화보기
      • 엠제이
        10122022
      • 아아뜨아
        221004
      • timetree3605
        감사합니다~
        대화보기
        • 하마아저씨
          web server for chrome 은 더 이상 지원하지 않는다고 하는 것 같네요.. ㅠㅠ
        • been06
          220923
        • 코딩드림
          22.09.22
        • 마미몬
          2022.9.21 와!!
        • 코딩왕초보
          2022.09.16
        • 동지남매 아버지
          수강완료 하였습니다.
        • 당당
          2022.09.05
        • 옥수수
          "잘 풀리는 문제는 실력을 확장시켜줘서 좋지만, 막히는 문제는 실력을 확정시켜주기때문에 좋습니다"
          오늘도 역시 잘 배우고 갑니다!
        • 22.08.20 오. 된다~
        • MelonMusk
          08/17
        • 모카
          2022.08.17
        • 참새튀김
          22.08.14
        • 이나츄
          22.08.11 완료
        • 헤밍웨이
          220809 이제 연결이 되는 거네요 :)
        • Daniel
          2022.08.09 완료했습니다.
        • 뿔고래
          크롬의 확장 프로그램을 이용하여 생각보다 쉽게 웹 호스팅을 할 수 있다.
          그러나 외부에서 나의 컴퓨터 안에 있는 웹사이트에 접근하는 것이 되지 않았다.
          방화벽과 관련된 것이 문제인 것 같은데 현재의 나로써는 알 수가 없다.
        • 22.08.04
        • 코딩다람쥐
          2022.07.31 수강완료
        • robert
          2022-07-28
          windows firewall off
          good~!
        • 코드만다
          22.07.24
          감사합니다.
        • Shinberico
          어제부터 조용히 강의 들으며 따라해보다가, 너무 감사한 마음에 회원가입하고 댓글을 남깁니다.

          목소리도 너무 좋으시고, 설명도 어느 강의보다 이해가 잘 됩니다.

          앞으로 열심히 배워보겠습니다.

          감사합니다.
        • 동글
          22.07.21 감사합니다:D
        • Byeongha Yu
          감사합니다
          대화보기
          • 김혜민
            22.07.10
          • 220707 오전 완료.
            댓글님 감사합니다 방화벽 잠시 해제하니 뜨네요 !
          • kimjaewoo
            재밌다 ㅎㅎ
          • 여름이
            22.7.5. 완료!
          • toonfac
            220702 오후 9시 30분 완료
          • ssunme_01
            22.06.30 study!
          • '22.06.28. done
          • 휴대폰에서 실행이 안되시는 분들은
            PC - 설정 - 방화벽 및 네트워크 보호 - 개인 네트워크와 공용네트워크 방화벽 끄기
            로 방화벽 설정을 변경한 뒤 다시 휴대폰에서 새로고침을 해보세요.
            정상적으로 연결이 되는 것을 확인한 뒤 방화벽을 다시 켜주셔야 합니다.

            22.06.27
          버전 관리
          egoing
          현재 버전
          선택 버전
          graphittie 자세히 보기