본문 바로가기

development activity/Web Development

[Node.js] Express를 설치하여 웹 서버 구축하기


Express를 설치하여 웹 서버 구축하기




1. express 란?


Node.js의 확장모듈로 서버 사이드 웹 프레임워크(Server Side Web Framework)로


정의하며, 자바스크립트 코드를 이용해 서버 사이드 작성이 가능합니다.


express는 Node.js에서 가장 유명한 웹 프레임워크 모듈로 express를 이용하면

더 간단하게 웹 서버를 만들 수 있고, 다양한 템플릿 엔진과 기능들을 사용할 수 있습니다.



2. express 설치


저장하여 실행시키고자 하는 곳에 express를 설치합니다.


저는 D 드라이브에 설치하였습니다. 그런데 여기서 좀 더 편리한 환경을 만들기 위해


보통 'npm install -g express' 하면 자동으로 설치되지만


웹페이지를 jade 형식으로 작성해야 되기 때문에 익숙하지 않습니다.


html과 같은 형식의 ejs를 사용하기 위해


express-generator를 설치합니다.


* ejs(Embedded JavaScript) : 서버에서 자바스크립트로 HTML을 생성하는 템플릿 엔진





'npm install -g express-generator' 입력


-g 옵션은 글로벌하게 사용하겠다는 의미입니다. 즉, 전역으로 사용하겠다는 뜻입니다.



다음으로 웹페이지를 구동시킬 프로젝트를 생성합니다.





'express example01' 입력


프로젝트를 생성한 후에 example01이라는 폴더가 생성되며,


example01 폴더 내부에 순차적으로 package.json, app.js 등 파일이 생성되는


리스트가 콘솔창에 띄워지는게 보입니다.



그리고 마지막에 install dependencies은 의존하는 것을 설치하라는 것이므로


 example01로 이동합니다.('cd example01' 입력) 그리고 npm을 설치하기 전에


jade를 사용하지 않고 ejs를 사용하기 위해





'express --ejs' 입력


이렇게 ejs로 변경하고, 그다음 npm을 설치해줍니다.



npm 설치는 'npm install'





그러면 콘솔 창에 이런 화면이 생성되고,





웹서버가 작동하도록 현재 프로젝트 폴더위치에서


'npm start' 또는 'node ./bin/www' 를 입력합니다.



npm start가 아닌 node ./bin/www를 사용해도 되는 이유는


package.json을 보면 알 수 있습니다.





브라우저 주소입력창에 '로컬호스트:포트번호'를 입력하여


잘 작동하는 지 확인하면 되는데


포트번호의 경우 기본적으로 3000번이 설정되어 있습니다.


포트번호를 수정하고 싶은 경우 example01/bin/www 파일에서 15번째 줄의


숫자 '3000'을 원하는 포트번호로 수정하면 됩니다.





브라우저에서 확인한 결과 잘 작동합니다.





브라우저에서 접속함과 동시에 콘솔창에 접속상황을 표시해주고 있습니다.




GET 요청을 하였고 200번의 경우 요청이 성공적으로 이루어졌다는 번호입니다.


지금은 브라우저에서 요청할 때 /stylesheets/style.css 파일밖에 없어서 


style.css만 확인하지만 다른 많은 파일은 불러서 쓸 경우에도


보이는 것처럼 일일히 코드번호를 출력하여 어느 파일에서 오류가 났는지


또는 GET 요청인지 POST 요청인지


콘솔창에 띄어줍니다.




3. 주요 http 코드 번호


200(OK)

클라이언트의 요청이 성공적으로 이루어졌다는 뜻입니다.


304(Not Modified)

브라우저가 서버에게 요청한 자료에 대해

서버는 클라이언트 내에 있는 복사된 캐시를 사용한 것입니다.


404(Not Found)

클라이언트가 서버에게 요청한 자료가 존재하지 않는다는 것입니다.

(또는 코드상 문제가 있는 경우 발생합니다.)


500(Internal Server Error)

서버가 클라이언트의 요청을 실행할 수 없을 때 발생하는 코드로,

예측하지 못한 요청을 보냈을 때 애플리케이션이 적절히 처리하지 못한경우 발생하는 것입니다.