본문 바로가기
  • " 집요함 "
  • " 집요함 "
  • " 집요함 "
웹/백엔드 서버

PUTTY에서 Node.js설치 및 실행 방법

by joen00 2022. 4. 11.

먼저 node.js란 자바스크립트 런타임이다. 즉 자바스크립트 언어를 돌려주는 프로그램(구동기)이다.

npm이란 좋은 라이브러리이다. 노트 패키지 매니저의 약자이다. 노드안에 apt의 역할을 해주는 것으로 node에 프로그램을 설채해준다. express라이브러리를 설치해준다. 

프로그램 → 완벽하게 돌아감
라이브러리 → 프로그램이 돌아가는데 도움을 주는 것들이다.

톰캣은 웹 서버 기능을 하게해주는 프로그램이라서 다른것을 못 건들인다.
라이브러리는 웹 서버 기능을 해주지만 라이브러리지만 a-z까지 다 만들어준다. 우리 입맛데로 가능하게, 우리가 필요한 기능만 써주니깐 가볍다.

 

1. putty 우분투에서

sudo apt update

sudo apt upgrade

sudo apt-get install nodejs

sudo apt-get install npm

npm install express

npm init

위에 4개를 입력해 실행시키자.

이때 npm init은 명세서 같은 역할을 한다. 아래와 같은 것들이 생긴다. 

package.json ⇒ 거기 안에 프로젝트 설명이나 라이브러리들도 명시된다. 
package-lock.json ⇒ 다운로드 경로
node_modules ⇒ npm통해서 설치된 파일들이 여기에 저장된다. express 설치했으니깐 여기에 적혀있음
package.json ⇒ 명세서

 

2. index.html 파일을 만들어서 제일 처음 보여주는 화면 정도 만들기

<!DOCTYPE html>
<html lang="kr">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>백엔드 페이지</h1>
</body>
</html>

 

3. server.js로 웹서버를 켜주는 파일을 하나 만들기

여기에는 Rest API 디자인 패턴이 들어간다. 

먼저 rest API에서 API를 알기 전에 서드파티, 라이브러리, 프레임워크 API를 구분해보자.

서드파티 = 완성된 프로그램 (카카오톡), 제공한 방향만 사용가능

라이브러리 = 서드파티를 만들기 위한 내부 기능, 내가 직접짜는 것이 아닌 다른 곳에서 다운로드 받아서, 자바스크립트에서 date라는 라이브러리를 사용해서 금방 날짜 계산하도록 도와줌, 수정이 가능하다

프레임워크 = 서드파티 만들기 위해 도움이 된다. 라이브러리보다 진화된 것, 라이브러리를 제공해주는 방법같이, (express, 유니티)

API = 완성된 프로그램을 유용하게 쓸 수 있게 도와주는 내부적으로 코드를 짜는 것, 외부에서 우리의 것을 쓸 수 있도록, 어떻게 돌아가는지는 알 수 없다. 신호를 보내는 것, 코드 수정도 못한다.

프론트에서 요청을 보내면 우리가 처리를 해주는 것이니깐 API를 만드는 것이다. (구글 맵 API)

Rest API 디자인 패턴

  • 아무런 기능을 하지 않음
  • 의미적인 전달만 해줌

get, post, update, delete

<4개로 한 이유> api이름을 하나로 통일하게 해줌, api이름이 하나에도 불구하고 의미를 전달해줄 수 있다.

const express = require("express")
const app = express() // 익스프레스를 객체로 만든것
const port = 8000 // 포트번호 정의

// request 프론트로 부터 오는 것을 저장
// response 프론트로 보내줄때
// "/"그 url에만 저장할때 아이피 : 8000으로 접속할때 무엇을 해줄 것 인가?
// 절대경로로 적어줘야한다. __dirname현재 까지 이 파일이 있는 경로
// 이요청할때는 이페이지 보여주고 app.get을 엄청많이 보여준다
// 이것도 api이다. api한개를 등록
// get방법으로 "/"가 api의 이름(지금은 루트)
app.get("/",(req,res)=>{
    res.sendFile(__dirname+"/index.html")
})

//http 인식해주는 곳 , port에서 어떻게
//app.listen http 통신 시작, 통신을 시작할때 함수를 시작하겠다.
app.listen(port, ()=>{
    console.log(`${port}번 포트에서 http 통신 시작`)
})

 

서버 작동하는 방법은 

node server.js를 입력하면 된다. 

728x90

댓글