mkdir my-backend-server
cd my-backend-server
yarn init -y
yarn add express pg cors dotenv
📄 .env 파일 만들기
DB_HOST=myhost
DB_PORT=5432
DB_USER=myuser
DB_PASSWORD=mypassword
DB_NAME=mydb
📄 db.js 만들기
const { Pool } = require('pg');
require('dotenv').config();
const pool = new Pool({
host: process.env.DB_HOST,
port: process.env.DB_PORT,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
});
module.exports = pool;
📄 index.js 만들기
const express = require('express');
const cors = require('cors');
const pool = require('./db');
const app = express();
app.use(cors());
app.use(express.json());
app.get('/items', async (req, res) => {
const result = await pool.query('SELECT * FROM items');
res.json(result.rows);
});
const PORT = process.env.PORT || 4000;
app.listen(PORT, () => {
console.log(`Server listening on port ${PORT}`);
});
📄 .gitignore 만들기
.gitignore에 .env 추가
# .gitignore
.env
/node_modules
다음으로는
1. 위의 코드를 GitHub에 올리고 백엔드 서버를 Railway에 배포
2. PostgreSQL 데이터베이스도 Railway에서 생성하고 연결
=> ⚠️ 단, 다음 조건이 모두 충족돼야만 한다.
백엔드 서버와 PostgreSQL이 같은 Railway 프로젝트 내에 있어야 한다.
테이블 만들기 => PostgreSQL 프로젝트에서 테이블도 만들고 add row를 선택하면 INSERT도 가능하다.
PostgreSQL 프로젝트 > variables 탭에서 다음 정보를 확인하고, 해당 정보를 백엔드 서버의 .env 파일과 Railway의 Variables에 각각 추가(변경)한다.
DB_HOST=POSTGRESQL의 Private Networking 주소
DB_PORT=나의 PGPORT
DB_USER=나의 PGUSER
DB_PASSWORD=••••••••
DB_NAME=나의 PGDATABASE
값을 추가(변경)후에 백엔드 프로젝트를 Redeploy 한다.

배포가 완료되면 백엔드 프로젝트 Railway의 "Deployments > View Logs"에서 로그 확인.
브라우저 또는 Postman으로:
GET https://my-backend.up.railway.app/items
→ JSON으로 아이템 목록이 응답되면 성공!!
백엔드 서버의 URL은 백엔드 프로젝트 > Settings > Networking > Public Networking에서 Generate Domain 누르면 나온다.