메뉴 건너뛰기

안녕하세요, 관리자입니다. (_ _)

명품 웹 프로그래밍 홈페이지를 만들고 작성하는 첫 공식 게시글이자 첫 블로그 포스트네요.

이번 포스트에서 소개할 내용은 내 컴퓨터로 웹 서버 만들기! 입니다.

 

웹 공부 하시다보면 다들 한번쯤 이런생각 해보셨을겁니다.

'책에서 하라는대로 하니까 뭔가 만들어지긴 하는데, 내가 만든 웹 페이지도 남이 들어와서 볼 순 없을까?'

왜 없겠어요. 다만 그 방법을 모르고 있었던 것 뿐이죠. 이번 포스트에서 그 방법에 대해 관리자와 함께 천천히 빠르게(?) 알아보겠습니다.

 

우선, 간단한 배경지식을 하나 익히고 가볼까 합니다. 학우 여러분들은 '웹 서버'라는 단어를 한번쯤은 들어보셨죠?

 

the-web-1.png

↑ 그림 1 - 웹 서버와 클라이언트의 관계를 나타내는 그림

 

사람들이 어느 웹 페이지에 접속하기 위해선 사람들(클라이언트)의 요청을 처리하고 응신할 수 있는 컴퓨터(서버)가 있어야 하는데, 그것을 웹 서버라고 합니다.

웹 서버의 데이터는 HTTP 프로토콜 규격에 맞는 데이터 형식으로 변환된 후 인터넷을 통해 클라이언트에게 전달되고, 클라이언트는 전달받은 데이터를 브라우저에게 보냅니다.

그러면 브라우저는 그 데이터를 다시 사람이 알아볼 수 있는 형식의 데이터로 변환하고, 최종적으로 사용자에게 보여줍니다.

이 일련의 절차가 모두 정상적으로 실행되어야 서버에 있는 자료를 볼 수 있는 것이죠.

좀 머리아픈 이야기였나요? 결론만 얘기하자면, 내 컴퓨터에 있는 웹 페이지를 다른 사람들이 보게 하려면 내 컴퓨터를 웹 서버로 만들어야 한다는 것입니다.

 

OK, 여기까진 알겠고 그럼 이제 "내 컴퓨터를 어떻게 서버로 만드느냐?" 가 문제입니다.

 

컴퓨터를 서버로 만든다, 좀더 고급스럽게 표현하면 서버를 구축한다고도 표현하는데요, 웹 서버를 구축하는 방법은 아주 다양합니다.

소-중규모의 개인 서버를 구축하고 운영할 경우, 컴퓨터에 아파치 같은 프로그램을 설치하여 사용하거나, 사설 호스팅 서버를 많이 이용합니다.

규모가 큰 서버를 운영 할 경우엔 몇천만원 ~ 몇억단위의 비싼 서버 컴퓨터를 구매하여 구축하기도 합니다.

하지만 이러한 방법들은 어느정도 웹에 전반적인 지식을 갖추고 있어야 쓸 수 있는 방법이기 때문에, 당장은 이용하기 어렵습니다.

일단 이런 어려운 얘기들은 나중에 공부하고, 초특급으로 간단한 웹 서버 구축법을 알아보도록 하자구요.

 

우리가 웹 서버 구축에 이용할 프로그램은 Mongoose Web Server (몽구스 웹 서버)라는 프로그램 입니다.

 

logo_blue_1.png

↑ 그림 2 - Mongoose Web Server (몽구스 웹 서버) 로고

 

옛날에는 미어캣 모양의 로고였는데, 최근에는 저런모양으로 바뀌었네요.

우선 이 몽구스 웹 서버 프로그램을 다운 받아주셔야 하는데, 홈페이지에 보시면 Download 게시판에 6.3버전과 최신버전인 6.5버전이 올라와 있습니다.

교재에서는 6.3버전을 사용하였는데 사실상 6.3이나 6.5 어느것을 사용하여도 무방하기 때문에 아무거나 마음에 드는 것으로 다운받아 주세요.

 

다운로드 게시판 링크 : http://www.webprogramming.co.kr/download

 

마음에 드는 버전을 다운로드 하셨다면, 이제 폴더를 하나 만들어주세요. 이 폴더는 앞으로 웹 서버의 루트(최상단 경로)로 쓰이게 됩니다.

폴더명은 아무렇게나 하셔도 되고, 경로도 아무 데나 상관 없습니다.

단! 전체 경로중에 한글이 포함된 경우 몽구스 웹 서버가 인식을 하지 못하기 때문에 경로는 모두 영어로 이루어져 있어야 합니다.

 

여기까지 하셨다면, 이제 다른사람들에게 보여주고싶은 웹 문서들을 이곳에 옮겨주세요.

낱개의 웹 페이지를 두어도 괜찮고, 폴더별로 정리된 하나의 패키지도 괜찮습니다. 저는 1장에 있는 test1.html을 두었습니다.

 

캡처.PNG

↑ 그림 3 - 루트 폴더와 test1.html 파일

 

공유하고자 하는 웹 문서들을 저처럼 옮겨놓으셨다면, 이제 몽구스 웹서버 프로그램을 실행시켜주세요. 아마 자동으로 웹 페이지가 열리실 겁니다.

아직 환경 설정을 하지 않았으니 일단은 닫아주시구요, 닫으신 후 화면 우측 하단 알림영역에 있는 몽구스 트레이 아이콘을 오른쪽 클릭해주세요.

 

제목 없음.png

↑ 그림 4 - 몽구스 컨텍스트 메뉴

 

오른쪽 클릭을 하시면 상단 그림과 같이 컨텍스트 메뉴가 등장합니다. 중하단에 있는 "Advanced settings"를 눌러주세요.

그럼 몽구스 웹 서버의 설정을 변경할 수 있는 웹 페이지가 열리게 됩니다! 이곳에서 여러가지 설정의 변경이 가능합니다.

저희는 이중에 웹 서버의 루트 설정포트 설정, 이렇게 2가지 설정만을 바꿔보겠습니다. 다른 설정들은 좀 더 깊은 지식이 요구되므로.. 다음 기회에 알아보겠습니다.

 

그런데, 루트는 뭔지 알겠는데 포트는 무엇일까요? 어디서 많이 듣긴 했는데 말이죠. 간단히 설명을 드리자면 보통 통신을 위해선 IP(호스트)와 포트 2가지가 필요한데,

IP는 호스트를 찾아낼 때 사용되고 포트는 호스트 내에서 어떤 프로세스와 통신할 지 구분하기 위해 쓰인답니다.

또한 웹 프로토콜을 사용하는 인터넷 주소는 http(s)://호스트:포트 형식으로 이루어져 있으며, 어느 웹 서버던지 예외는 없습니다.

그런데 인터넷 주소를 보면 포트 부분이 안적혀있죠? 위에서 인터넷 주소는 호스트:포트 형식으로 표시된다고 했는데, 왜 아무것도 표시가 되어있지 않은 걸까요?

사실 특별한 일이 없는 이상 http 프로토콜은 80번 포트를 사용하기로 약속되어 있습니다. 때문에 80번 포트를 사용하면 인터넷 주소에 굳이 :80을 붙일 필요가 없다고 판단하여

:80 표시를 생략하는 것 입니다. 네이버의 도메인 끝에 :80을 붙여보세요. (http://www.naver.com:80) 아무 문제 없이 접속이 가능하답니다.

 

이야기가 잠깐 다른데로 새버렸네요. 다시 본론으로 돌아와서, 환경 설정 웹 페이지를 봐주시기 바랍니다.

여러가지 설정이 많은데, 저희가 보아야 할것은 document_root 부분과 listening_port 부분입니다.

 

캡처2.PNG

↑ 그림 5 - 몽구스 웹 서버 환경 설정

 

document_root는 웹 서버의 루트의 경로를 지정하는 부분입니다. 좀 전에 만든 루트의 경로를 이곳에 기입해주세요. 기본경로는 몽구스 웹 서버 프로그램의 현재 디렉토리입니다.

listening_port는 웹 서버의 포트입니다. 기본은 8080으로 되어있는데, 80으로 바꾸어주세요.

설정 변경이 끝나셨다면 Save Settings를 눌러 설정을 저장하신 후, 웹 페이지를 닫고 트레이 아이콘에서 Exit를 눌러 종료해주세요. 그리고 다시 실행해주세요.

실행하시면 아래와 같이 루트 경로에 있는 하위 파일들이 나타나게 됩니다. 혹시 창이 닫혔다면, 컨텍스트 메뉴를 열어 "Go to my Address: ~~~~" 메뉴를 실행해주세요.

 

캡처3.PNG

↑ 그림 6 - 웹 서버 접속시 최초 화면

 

현재는 하나의 웹 문서만 집어넣어 저렇게 표시되지만, 루트에 다양한 폴더와 파일들을 집어넣으면 탐색기를 이용하듯 여러 파일들에 접근이 가능합니다.

test1.html을 한번 눌러보겠습니다.

 

캡처4.PNG 캡처5.PNG

↑ 그림 7 - 웹 서버에 있는 test1.html 웹문서를 연 화면. 내가 호스트라면 우측과 같이 도메인 대신 "localhost"를 입력해도 된다.

 

네, test1.html가 아주 잘 보이네요. 몽구스 웹 서버가 정상적으로 동작하고 있습니다.

참고로, 웹 서버가 현재 내 컴퓨터에서 작동하고 있다면 호스트 입력부분에 아이피나 도메인 대신 "localhost"를 입력하셔도 된답니다.

그러나 내 컴퓨터가 아닌 다른 서버에 접속하려면, 반드시 아이피나 도메인을 입력해주셔야 해요.

 

여기까지 "초간단! 5분만에 내 컴퓨터를 웹 서버로 만들어보자" 였습니다. 어때요, 참 쉽죠?

이용 중에 궁금한 점이 있으신 분들 께서는 QnA 게시판에 질문을 올려주세요. 친절하게 답변 해드리겠습니다!

긴 글 읽으시느라 수고많으셨습니다~

?
  • ?
    안녕하세요 2017.11.04 13:47

    1. 서버 주소로 처음 들어갔을때(위의 글에서는 192.168.0.2)로 들어갔을때 INDEX OF/ 랑 루트 경로에 있는 하위 파일들이 뜨지 않게 하고 제가 집어넣고 싶은 HTML 파일의 실행결과가 뜨게 하려면 어떻게 하죠?
    2. webserver 폴더에 test1.html 만 집어넣어서 실행이 되나요? 저는 루트 경로 파일에 제가 넣고 싶은 파일들과 mongoose-free-6.5를 같이 집어넣어야지 실행이 되던데요?

  • ?
    김민성 2017.12.03 19:00
    검색해서 왔더니, 제가 샀던 책의 저자가 운영하는 곳이군요?
    반갑습니다. 좋은 정보감사합니다.!
  • ?
    명품웹프로그래밍 2018.05.22 00:03
    좋네요 뭉구스로 구동기 돌리고 공유기 포트포워딩만 하면 조금 귀찮긴 하지만 밖에서도 포트포워딩만하면 접속할수 잇으니 좋아요
  • ?
    명품웹프로그래밍 2018.05.22 00:06
    아 그리고 안녕하세요님 index of/ 가 뜨는 이유는 웹페이지 이름을 index.html로 하셔야 되요 그럼 안뜨고 바로 드러가져요 저도 처음에 그거땜에 애먹었어요 ㅎㅎ
  • ?
    김승현 2018.07.07 13:46
    감사합니다 덕분에 도움많이됬습니다
    한가지 질문드리고 싶은데 몽구스로 서버를 구축하고 html 파일을 넣어둔뒤
    spring 프레임 워크를 이용하여 만든 홈페이지에서 해당 html 페이지로 이동이 가능한가요???
  • ?
    제로원 2019.09.19 01:17
    안녕하세요 맥버전 os x는 어떻게 몽구스 서버를 실행할수 있을지요 맥버전 다운로드가 가능한가요?
  • ?
    관리자 2019.09.19 13:11
    www.cesanta.com
    사이트가 몽구스를 제공하는 공식 사이트입니다.
    이곳에 가면 모르긴 해도 맥용도 있을 겁니다.
    없다면
    소스 코드를 다운받아 맥에서 컴파일하면 됩니다. 몽구스 소스 코드는 표준 C로 만들어져 있어 잘 컴파일 됩니다.
    저도 Raspberry PI의 리눅스에서도 컴파일하여 사용한 적이 있습니다.
  • ?
    오껭 2019.10.19 16:02
    맥북 유저인데 몽구스 설치가 도무지 힘드네요ㅠㅠ 초보자라 컴파일 하는 방법도 모르구요ㅠㅠ 혹시 도와주실 수 있나요? ㅜㅠ
  • ?
    감사합니다 2021.05.06 03:57
    너무 도움 많이 되었습니다. ^^ 감사합니다 좋은 정보 근데 혹시 한가지 걱정되는 부분은 보안부분에 대해서는 안전한 방법일까요?!
  • ?
    도와주세요 2021.07.06 12:02
    사이트도만들고 몽구스서버도열었는데 다른와이파이에서 들어가면 로딩이걸리고 안들어가지네요

Admin's Blog

관리자의 블로그입니다.

  1. No Image 23Aug
    by 관리자2
    2018/08/23 by 관리자2
    Views 1388 

    Array의 sort() 메소드를 이용하여 정렬하기

  2. 집 안의 PC를 몽구스 웹 서버로 만들고 외부에서 접속하기

  3. 웹페이지를 그래서 어떻게 만들라는거야? 웹프로그래밍 스타팅 가이드라인

  4. 초간단! 5분만에 내 컴퓨터를 웹 서버로 만들어보자

목록
Board Pagination Prev 1 Next
/ 1
위로