was개념과 was서버에 역할
간단한 HelloWorld를 출력하는 서버 열어보기
웹 서버와 같이 웹 페이지를 전달하는 역할을 하기도 하지만 WAS의 핵심 역할은 웹 페이지를 동적인 컨텐츠를 생성하거나 업데이트 하는 비즈니스 로직을 수행할 수 있게 합니다.
동적인 요소를 생성하는 서버 사이드 코드가 구동될 수 있는 프로그래밍 언어적 런타임 혹은 소프트웨어 엔진을 제공
웹 애플리케이션 서버의 클라이언트는 애플리케이션 그 자체가 될 수도 있고, 웹 서버나 다른 웹 애플리케이션 서버, 데이터베이스 서버가 될 수도 있습니다. 따라서 웹 애플리케이션 서버를 사용한다면 경우에 따라 다양한 형태의 아키텍처가 생성될 수 있습니다.
웹서버 : 웹 서버는 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 있는 그대로 반환하는 서버를 말함.
웹 페이지는 그림, CSS, JS을 포함하며, 정적 파일들을 브라우저에 그대로 전달하는 역할을 하기 때문에 웹 서버는 정적 웹 서버(Static Web Server)라고 부르기도 합니다.
WAS서버 : 웹 서버와 같이 웹 페이지를 전달하는 역할을 하기도 하지만 WAS의 핵심 역할은 웹 페이지를 동적인 컨텐츠를 생성하거나 업데이트 하는 비즈니스 로직을 수행할 수 있게 합니다.
DB 서버 : 데이터베이스 서버는 사용자가 데이터베이스에 연결할 수 있도록 해줍니다. 데이터베이스는 사용자 정보나 사진, 동영상 등에 대한 정보를 담고 있는 서버입니다.
ex) MySQL, MongoDB, Oracle
프레임워크는 소프트웨어 개발을 쉽게 만들어주기 위해 필요한 도구, 규약의 집합체입니다. 프레임워크 없이 밑바닥부터 모든 코드를 작성하는 것도 가능하지만, 프레임워크를 통해 만들고자 하는 소프트웨어의 기본 골격이 제공되기 때문에, 현대의 소프트웨어 개발에서는 많은 부분을 프레임워크에 의존합니다.
node.js를 위한 express, fastify 두 가지이며 특징으로는, express는 먼저 생긴 프레임워크로써 오랫동안 사용되어 왔기 때문에 안정성이 높은 친숙한 프레임워크라 할 수 있습니다.
fastify는 express보다 늦게 나왔지만, 훨씬 고성능이며 개발자에게 친화적이기 때문에 fastify 역시 현업에서 널리 사용되는 중이라고 알고 있습니다.
sudo apt-get install npm = Node.js의 기본 패키지 설치 (node package manager)
npm install -g express-generator
express [project_Name] --view=pug = 기본적인 프로젝트 (서버 틀)생성
npm install = package.json에 맞는 node_modules 생성
npm install express = was서버 프레임워크중 하나인 express 설치
npm install nodemon --save = -dev 붙이면 로컬에서만 사용 자동으로 코드 수정해주는 라이브러리
const express = require ('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send("Hello World!");
});
app.listen(port, () =>{
console.log(`서버가 실행됩니다. http://localhost:${port}`);
})
코드 작성 후 node app.js 실행
-> 포트 3000번으로 Hello World!를 출력하는 서버 열기
