React와 Node.js를 사용한 웹 애플리케이션 개발

React와 Node.js를 사용한 웹 애플리케이션(게시판) 개발 강좌(22)

atomicdev 2024. 9. 22. 16:02
728x90

Cafe24 호스팅 설정 및 Node.js 애플리케이션 배포

이번 강의에서는 Cafe24 호스팅을 사용하여 Node.js 애플리케이션을 배포하는 방법과 MySQL 및 서버 설정을 다룹니다. Cafe24는 한국에서 널리 사용되는 웹 호스팅 서비스로, 개발자가 손쉽게 애플리케이션을 배포할 수 있는 플랫폼을 제공합니다.

Cafe24 에서 Node.js 애플리케이션을 배포하는 과정


1. Cafe24에서 Node.js 호스팅 준비

1.1 호스팅 서비스 가입 및 설정

  1. Cafe24 홈페이지에서 호스팅 서비스에 가입합니다.
  2. 관리자 페이지로 이동하여 웹호스팅 또는 앱 호스팅을 선택합니다.
  3. Node.js를 지원하는 호스팅 플랜을 선택합니다.

1.2 도메인 연결

  • Cafe24에서 제공하는 기본 도메인 또는 개인 도메인을 연결할 수 있습니다.
  • DNS 설정을 통해 도메인을 애플리케이션에 연결합니다.

2. Node.js 애플리케이션 배포

2.1 Node.js 버전 설정

Cafe24에서는 사용자가 원하는 Node.js 버전을 설정할 수 있습니다.

  1. SSH로 Cafe24 서버에 접속합니다.
  2. Node.js 버전을 확인하고, 필요 시 원하는 버전으로 변경합니다.
node -v
nvm install 14 # 예시로 Node.js 14 버전 설치
nvm use 14

2.2 애플리케이션 업로드

  1. Git 또는 FTP를 사용하여 로컬에서 개발한 Node.js 애플리케이션을 Cafe24 서버로 업로드합니다.
  2. SSH 접속 후, git clone 명령어를 사용하여 원격 저장소에서 애플리케이션을 가져옵니다.
git clone https://github.com/username/project.git
cd project

2.3 애플리케이션 설정

package.json 파일에서 필요한 의존성을 설치하고 애플리케이션을 실행할 수 있도록 설정합니다.

npm install
npm start
 

3. MySQL 설정

3.1 MySQL 데이터베이스 생성

  1. Cafe24 관리자 페이지에서 MySQL 데이터베이스를 생성합니다.
  2. 데이터베이스 이름, 사용자 이름, 비밀번호를 설정합니다.

3.2 MySQL 연결 설정

Node.js 애플리케이션에서 MySQL 데이터베이스에 연결할 수 있도록 db.js 파일을 설정합니다.

// db.js
const mysql = require('mysql');

const connection = mysql.createConnection({
  host: 'localhost',  // Cafe24의 MySQL 서버 주소
  user: 'db_user',    // 생성한 사용자 이름
  password: 'db_password', // 설정한 비밀번호
  database: 'db_name' // 생성한 데이터베이스 이름
});

connection.connect((err) => {
  if (err) {
    console.error('MySQL 연결 오류:', err);
    return;
  }
  console.log('MySQL에 연결되었습니다.');
});

module.exports = connection;

4. 서버 설정 및 실행

4.1 PM2 사용

Node.js 애플리케이션을 안정적으로 실행하고 관리하기 위해 PM2를 사용합니다. PM2는 애플리케이션을 백그라운드에서 지속적으로 실행하고, 애플리케이션 충돌 시 자동으로 재시작할 수 있습니다.

npm install -g pm2
pm2 start app.js --name "my-app"
pm2 save

4.2 NGINX 설정 (선택사항)

Cafe24에서 NGINX를 사용해 Reverse Proxy를 설정하여 정적 파일을 제공하거나 여러 애플리케이션을 관리할 수 있습니다.

server {
  listen 80;
  server_name example.com;

  location / {
    proxy_pass http://localhost:3000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

5. 배포 후 확인

애플리케이션이 성공적으로 배포되면, Cafe24에서 제공하는 도메인을 통해 배포된 애플리케이션에 접근할 수 있습니다. nginx 로그와 PM2 로그를 통해 오류 여부를 확인하고, 문제가 발생하면 설정을 재검토합니다.


6. 배포 후 유지관리

  • 모니터링: Cafe24에서 제공하는 모니터링 도구를 통해 애플리케이션의 성능과 상태를 지속적으로 모니터링합니다.
  • 자동 배포 설정: GitCafe24배포 도구를 연동하여 자동으로 업데이트되는 배포 시스템을 구축할 수 있습니다.
  • 백업: 주기적으로 데이터베이스 및 서버 파일을 백업하여 데이터 유실에 대비합니다.

결론

이번 강의에서는 Cafe24를 사용하여 Node.js 애플리케이션을 배포하는 과정을 다루었습니다. SSH로 서버에 접속하여 애플리케이션을 업로드하고, MySQL과 연동하여 데이터베이스를 설정하며, 안정적인 배포를 위해 PM2NGINX를 활용하는 방법을 배웠습니다.

728x90