* 불가피하게 Amazon linux2에서 실행해야 할 상황에서의 대처입니다. 가능하면 ubuntu 사용을 추천드립니다.

 

Amazon linux2에서 node18버전 이상 yum 설치 시 GLIBC 버전 호환 문제로 아래와 같은 에러가 발생합니다.

Error: Package: 2:nodejs-18.20.4-1nodesource.x86_64 (nodesource-nodejs)
           Requires: libc.so.6(GLIBC_2.28)(64bit)
Error: Package: 2:nodejs-18.20.4-1nodesource.x86_64 (nodesource-nodejs)
           Requires: libm.so.6(GLIBC_2.27)(64bit)
Error: Package: 2:nodejs-18.20.4-1nodesource.x86_64 (nodesource-nodejs)
           Requires: glibc >= 2.28

 

Node.js 18.x 설치 방법 (바이너리 다운로드 방식)

이 가이드는 Node.js 18.x을 바이너리 파일을 사용하여 설치하는 방법을 설명합니다. 이 방법은 GLIBC 버전 문제를 피하고 직접 바이너리를 다운로드하여 설치할 수 있습니다. 이 예제에서는 Node.js 18.17.1 버전을 사용합니다.

1. Node.js 바이너리 다운로드

Node.js 18.x 바이너리를 다운로드합니다. 아래 명령어를 사용합니다:

wget -nv https://d3rnber7ry90et.cloudfront.net/linux-x86_64/node-v18.17.1.tar.gz

2. Node.js 바이너리 압축 해제 및 이동

다운로드한 바이너리 파일을 압축 해제한 후, /usr/local/lib/node 디렉토리에 이동합니다:

mkdir /usr/local/lib/node

tar -xf node-v18.17.1.tar.gz

mv node-v18.17.1 /usr/local/lib/node/nodejs

3. 환경 변수 설정

Node.js를 사용할 수 있도록 환경 변수를 설정합니다. NVM이 이미 설치되어 있는 경우, NVM의 환경 설정을 비우고 Node.js의 경로를 추가합니다:

echo "export NVM_DIR=''" >> /home/ec2-user/.bashrc

echo "export NODEJS_HOME=/usr/local/lib/node/nodejs" >> /home/ec2-user/.bashrc

echo "export PATH=\$NODEJS_HOME/bin:\$PATH" >> /home/ec2-user/.bashrc

4. 환경 변수 적용

변경된 환경 변수를 적용하기 위해 .bashrc 파일을 다시 로드합니다:

. /home/ec2-user/.bashrc

5. Node.js 설치 확인

Node.js가 제대로 설치되었는지 확인합니다. 아래 명령어를 실행하여 현재 설치된 Node.js 버전을 확인합니다:

node -e "console.log('Running Node.js ' + process.version)"

node -v

'Dev > Node.js' 카테고리의 다른 글

node.js express docker실행  (0) 2024.08.02
Node.js Express 실행 확인 index.html 포함  (1) 2024.07.30

Node.js 프로젝트 준비

먼저, Node.js 프로젝트를 준비해야 합니다. 프로젝트 루트 디렉토리에 package.json 파일이 있어야 합니다.

 

Node.js Test 코드가 없다면 아래 링크를 통해 간단하게 작성합니다.

https://yes5.tistory.com/45

 

Node.js Express 실행 확인 index.html 포함

Node.js 설치먼저, Node.js를 설치해야 합니다.Node.js 다운로드:Node.js 공식 웹사이트로 이동합니다.LTS (Long Term Support) 버전을 다운로드합니다. 이는 안정적이고 장기적으로 지원되는 버전입니다.Node.js

yes5.tistory.com

 

docker 설치

https://yes5.tistory.com/46

 

Docker 설치 및 설정 deploying WSL2 distributionsensuring main distro is deployed error 해결

1. Docker 설치Docker는 대부분의 운영 체제에서 설치할 수 있습니다. 아래는 주요 운영 체제별 설치 방법입니다.WindowsDocker Desktop for Windows를 다운로드하고 설치합니다.설치 과정에서 기본 설정을 따

yes5.tistory.com

 

Dockerfile 작성

프로젝트 루트 디렉토리에 Dockerfile을 작성합니다. Dockerfile은 Docker 이미지를 빌드하기 위한 설정 파일입니다. 다음은 예시 Dockerfile입니다:

# Node.js 이미지를 기반으로 합니다
FROM node:18

# 작업 디렉토리를 설정합니다
WORKDIR /app

# 패키지 파일들을 컨테이너로 복사합니다
COPY package*.json ./

# 의존성 패키지를 설치합니다
RUN npm install

# 애플리케이션 소스 파일들을 컨테이너로 복사합니다
COPY . .

# 애플리케이션이 실행될 포트를 설정합니다
EXPOSE 3000

# 애플리케이션을 실행합니다
CMD ["node", "index.js"]

 

 

.dockerignore 작성

Docker 빌드 컨텍스트에 포함시키지 않을 파일들을 지정하기 위해 .dockerignore 파일을 작성합니다. 일반적으로 node_modules 폴더와 로그 파일 등을 제외합니다.

node_modules
npm-debug.log

 

디렉토리 위치

 

Docker 이미지 빌드

VSCode 터미널이나 명령 프롬프트를 열고, 프로젝트 디렉토리로 이동한 후 다음 명령어를 실행하여 Docker 이미지를 빌드합니다:

 

docker build -t my-express-app .

 

Docker 컨테이너 실행

이미지 빌드가 완료되면 다음 명령어로 Docker 컨테이너를 실행할 수 있습니다:

docker run -p 3000:3000 my-express-app

 

Docker 컨테이너 내 express 앱 실행 확인

http://localhost:3000 

Node.js 설치

먼저, Node.js를 설치해야 합니다.

  1. Node.js 다운로드:
    • Node.js 공식 웹사이트로 이동합니다.
    • LTS (Long Term Support) 버전을 다운로드합니다. 이는 안정적이고 장기적으로 지원되는 버전입니다.
  2. Node.js 설치:
    • 다운로드한 설치 파일을 실행합니다.
    • 설치 마법사의 지시에 따라 Node.js를 설치합니다. 기본 설정을 사용하면 됩니다.

 

Node.js 설치 확인

설치가 완료되면, Node.js와 npm(Node Package Manager)이 제대로 설치되었는지 확인합니다.

  1. 명령 프롬프트 열기:
    • Windows + R 키를 누르고 cmd를 입력하여 명령 프롬프트를 엽니다.
  2. Node.js와 npm 버전 확인:
    • 다음 명령어를 입력하여 Node.js와 npm이 설치되었는지 확인합니다.
node -v
npm -v

 

Visual Studio Code 설치

  1. VSCode 다운로드:
  2. VSCode 설치:
    • 다운로드한 설치 파일을 실행합니다.
    • 설치 마법사의 지시에 따라 VSCode를 설치합니다. 기본 설정을 사용하면 됩니다.

 

VSCode에서 Node.js 프로젝트 열기

  1. VSCode 열기:
    • 설치가 완료되면 VSCode를 실행합니다.
  2. 프로젝트 폴더 열기:
    • 파일 메뉴에서 폴더 열기를 선택합니다.
    • Node.js 프로젝트가 있는 폴더를 선택하고 열기 버튼을 클릭합니다.

 

터미널에서 Node.js 실행

VSCode 내의 통합 터미널을 사용하여 Node.js 애플리케이션을 실행할 수 있습니다.

  1. 통합 터미널 열기:
    • 보기 메뉴에서 터미널을 선택하거나 Ctrl + ` (백틱) 키를 눌러 통합 터미널을 엽니다.
  2. 프로젝트 폴더로 이동:
    • 터미널에서 프로젝트 폴더로 이동합니다.

 

프로젝트 디렉토리 설정:

mkdir my-express-app
cd my-express-app
npm init -y
npm install express

 

서버 코드 작성:

index.js 파일을 생성하고, 아래의 코드를 추가합니다

const express = require('express');
const path = require('path');

const app = express();
const port = 3000;

// 정적 파일 제공을 위한 미들웨어 설정
app.use(express.static(path.join(__dirname, 'public')));

// 루트 경로에 대한 핸들러
app.get('/', (req, res) => {
    res.sendFile(path.join(__dirname, 'public', 'index.html'));
});

app.listen(port, () => {
    console.log(`서버가 http://localhost:${port}에서 실행 중입니다.`);
});

 

웹 페이지 작성: 

public 디렉토리를 생성하고, 그 안에 index.html 파일을 작성합니다:

mkdir public

public/index.html 파일에 아래의 코드를 추가합니다:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Simple Express App</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            text-align: center;
            padding: 50px;
        }
        h1 {
            color: #333;
        }
    </style>
</head>
<body>
    <h1>Welcome to My Simple Express App!</h1>
    <p>This is a simple web page served by an Express server.</p>
</body>
</html>

디렉토리, 코드 위치

 

 

서버 실행:

터미널에서 아래 명령어를 실행하여 서버를 시작합니다:

node index.js

 

웹 브라우저에서 확인:

웹 브라우저를 열고 http://localhost:3000으로 접속하면 작성한 웹 페이지가 표시됩니다.

 

'Dev > Node.js' 카테고리의 다른 글

Amazon linux2에 node18 설치 Requires: libc.so.6(GLIBC_2.28)(64bit)  (0) 2024.08.16
node.js express docker실행  (0) 2024.08.02

+ Recent posts