1. 터미널에서 SSH Key발급받기

ssh-keygen -t rsa -b 4096 -C "이메일 주소"

 

cd /Users/Lee/.ssh  //경로이동

cat ./id_rsa.pud //key값 확인

2. github에 sshKey 등록하기

 

 

1번에서 가져온 key 값을 등록하면 끝

Linux 인스턴스에서 Node.js를 설정하려면

  1. SSH를 사용하여 ec2-user로 Linux 인스턴스에 연결합니다.
  2. 명령줄에 다음을 입력하여 nvm(노드 버전 관리자)을 설치합니다.
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
    nvm을 사용하면 여러 버전의 Node.js를 설치할 수 있고 여러 버전 간을 전환할 수 있기 때문에 여기서는 nvm을 사용하여 Node.js를 설치합니다.
  3. 명령줄에 다음을 입력하여 nvm을 활성화합니다.
    . ~/.nvm/nvm.sh
  4. 명령줄에 다음을 입력하여 nvm을 사용하여 Node.js 최신 LTS 버전을 설치합니다.Node.js 를 설치하면 노드 패키지 관리자 (npm) 도 설치되므로 필요에 따라 추가 모듈을 설치할 수 있습니다.
    nvm install --lts
  5. 명령줄에 다음을 입력하여 Node.js가 올바르게 설치되고 실행되는지 테스트합니다.이렇게 하면 실행 중인 Node.js의 버전을 보여 주는 메시지가 다음과 같이 표시됩니다.
    node -e "console.log('Running Node.js ' + process.version)"

    Running Node.js VERSION

1. mongoose 설치

npm i mongoose

2.db 를 연결할 파일 생성

app.js
 -routes
  -goods.js(쿼리를 실행할 파일)
 -schemas(db연결할 폴더)
  -index.js(db연결할 파일)
  -goods.js(db 스키마 정보 파일)

3. "./schemas/index.js 에서 mongoose 연결

const mongoose = require("mongoose");

const connect = () => {
  mongoose
    .connect("mongodb://localhost:27017/spa_mall")
    .catch(err => console.log(err));
};

mongoose.connection.on("error", err => {
  console.error("몽고디비 연결 에러", err);
});

module.exports = connect;

4. app.js를 실행할 때 db 연결

const connect = require('./schemas');
connect();

app.use("/api",goodsRouter);

5. shemas/goods.js 스키마 정보 입력

const mongoose = require("mongoose");

const goodsSchema = new mongoose.Schema({
  goodsId: {
    type: Number,
    required: true,
    unique: true
  },
  name: {
    type: String,
    required: true,
    unique: true
  },
  thumbnailUrl: {
    type: String
  },
  category: {
    type: String
  },
  price: {
    type: Number
  }
});

module.exports = mongoose.model("Goods", goodsSchema);

 

  • null : null 값과 존재하지 않는 필드
    • ex: null
  • String : 문자열
    • ex: “mongoDB”
  • Number : 숫자
    • ex: 3.14
  • Date : 날짜
    • ex: new Date()
  • Buffer : 파일을 담을 수 있는 버퍼, UTF-8이 아닌 문자열을 저장
    • ex: 0x65
  • Boolean : true or false
    • ex: true
  • ObjectId(Schema.Types.ObjectId) : 객체 ID, 주로 다른 객체를 참조할 때 넣음
    • ex: ObjectId()
  • Array : 배열 형태의 값
    • ex: ["a", "b", "c"]

1. json파일 생성

npm init -y

2. express 설치

npm insatll express

npm i express

  • package-lock.json은 어떤 패키지들이 어떤 버전으로 설치되었는지 기록해놓은 파일입니다. 나중에 이 파일이 있으면 다른 동료들과 협업할때 같은 환경으로 개발할 수 있게 도와줍니다.
  • node_modules 폴더는 npm을 통해 설치된 패키지들에 대한 파일이 있는 폴더입니다. 앞으로 개발을 하면서 다양한 라이브러리를 사용하게 될텐데 이에 대한 모든 파일이 여기에 설치됩니다.

3. app.js 서버연결

const express = require('express');
const app = express();
const port = 5000;

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

app.listen(port, () => {
  console.log(port, '포트로 서버가 열렸어요!');
});

address already in use :::5000 에러가 났을 경우 대처방법

->

2023.10.31 - [sparta/Node] - listen EADDRINUSE: address already in use (사용중인 포트 닫는법)

이미 다른 프로그램이 해당포트를 사용중이기에 5000번 포트를 사용할 수 없다는 뜻

포트번호를 변경하거나 5000번을 사용하는 다른 프로그램을 닫아야 함

 

사용중인 포트 닫는법

[맥]

쉘에서 다음과 같이 치면 현재 열린 포트 목록을 확인할 수 있다.
sudo lsof -PiTCP -sTCP:LISTEN

특정 포트를 찾아 포트를 닫고 싶으면 다음과 같이 쳐서 PID를 알아낸다.
sudo lsof -i :3000
여기서 3000이 포트번호이다.

위에서 나온 PID를 다음 명령어에 넣으면 포트가 닫힌다.
sudo kill -9 PID

다만 맥일 경우

TCP *:commplex-main (LISTEN)

이라는 이름으로 포트가 열려있을 경우 이건 AirPlay을 수신하고있는 port라는 뜻이므로 따로 설정해줘야한다.

AirPlay 수신모드를 비활성화 해주면 끝

[윈도우]

netstat -ano | find "원하는포트"

taskkill /f /pid 12952

 

 

+ Recent posts