내맘대로 공부기록.

[ 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 ... })

 

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

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

반응형