내맘대로 공부기록.

[ PROJECT ]/[ WEB ]

[웹 개발 개념] 2. node.js환경 서버 생성하기

fwanggus 2022. 9. 19. 15:43

 

서버 생성

node.js 환경에서 웹서버를 생성하기 위해, Express.js를 사용한다.

서버를 생성함에 있어서 다음과 같은 작업이 수반 되어야 하는데, 해당 내용은 '백엔드 세팅'에서 상세하게 다루도록 한다.

 

'백엔드 셋팅' 에서 다룰 내용
1) 뷰 엔진 셋팅(set)
2) 미들웨어 설정(use)
3) 에러 예외 발생시 대응 방법 설정(use, error handling)
4) 라우팅 설정(get, post)

 

자세한 설명은 공홈에서 확인할 수 있다.

 

Express "Hello World" example

Hello world example Embedded below is essentially the simplest Express app you can create. It is a single file app — not what you’d get if you use the Express generator, which creates the scaffolding for a full app with numerous JavaScript files, Jade

expressjs.com

 

아래 내용은 app.js 파일을 생성하여 코드를 작성하였다.

 

1. express 를 프로젝트에 설치

npm install express -D

 

 

2. 웹앱으로 사용할 app 인스턴스를 생성

var express = require('express')
var app = express()

 

3. 루트 접속시 요청, 응답 작업 설정하기 & Listen 걸어주기

get 요청에 대한 응답으로 'Hello World!!'를 html 페이지로 보내준다.

app.get('/', (req,res) => {
	res.send('Hello world !! ')
})

const port = 4000
app.listen(port, () => {
	console.log(`The app listening on port ${port}`)
})

 

앱을 실행하기 위해 프로젝트 파일이 있는 위치에서 다음의 커맨드를 실행하였다.

node app.js

 

또는, VSC 에디터를 사용할 경우 스크립트를 package.json 에 추가할 수 있다. 스크립의 'key' 는 npm 명령어로 fire 할 수 있다.

 

 

 

npm start
// 또는 npm run start

 

localhost:4000/ 로 get 요청을 보낸 결과

 

get 요청이 들어간 루트('/') 위치는 포트번호 바로 다음에 '/' 기호가 들어가는 위치를 말한다.

차후 '백엔드 셋팅' 에서 라우팅 설정을 하게 될 것인데 그때 이 루트 위치로부터 여러 가지 라우트 주소를 세팅해 갈 수 있는 것이다.

 

app.listen() 의 또 다른 설정 방법

http 패키지를 사용하면 app.listen() 과 같은 작업을 할 수 있다.

지금은 초기 설정하는 방법과 개념을 알아가기 위함이므로, 사용 형태만 설명 하기로 한다.

//  app.listen(port, ()=>{ something here ... })
var http = require('http')
var httpServer = http.createServer(app)

httpServer.listen(port, ()=>{ something here ... })

 

이 글에서 다루고 있는 서버는 본인의 컴퓨터에 서버를 두고, 같은 네트워크 상에서 나만 접속할 수 있는 상황을 가정하여 작업을 진행했다.

현실 세계에서 서버는 특정 물리적인 서버를 두거나, 클라우드 서버 상에 앱을 올려서 서비스를 운영하는게 대세이다. 그렇기 때문에 실제 서비스를 배포하게 되는 순간에 더 깊은 내용의 서버 운영 또는 호스팅 방법을 공부하는 것이 좋다고 생각된다. 간단히 개념만 살펴보았다. 끝.

반응형