elimgweb ์ ์ฅ์ ์ ํNODE_ENV=production
PORT=3000
JWT_SECRET=๋๋คํ-๊ธด-๋ฌธ์์ด-์ฌ๊ธฐ์-์
๋ ฅ
ADMIN_PASSWORD=๊ฐ๋ ฅํ-๋น๋ฐ๋ฒํธ
Railway์์:
elimg.com ์
๋ ฅ๊ฐ๋น์์์:
ํ์
: CNAME
ํธ์คํธ: www
๊ฐ: your-app.up.railway.app
ํ์
: A
ํธ์คํธ: @
๊ฐ: Railway๊ฐ ์ ๊ณตํ IP
# IP์ ๋น๋ฐ๋ฒํธ๋ Vultr ๋์๋ณด๋์์ ํ์ธ
ssh root@your-server-ip
# ๋น๋ฐ๋ฒํธ ์
๋ ฅ
์๋ฒ์์ ์๋ ๋ช ๋ น์ด ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ:
# 1. ์์คํ
์
๋ฐ์ดํธ ๋ฐ Node.js ์ค์น
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt update && sudo apt install -y nodejs nginx git
sudo npm install -g pm2
# 2. ํ๋ก์ ํธ ํด๋ก
cd /var/www
sudo git clone https://github.com/JinJun-han/elimgweb.git
cd elimgweb
# 3. ์ค์น ๋ฐ ์ด๊ธฐํ
sudo npm install
sudo cp .env.example .env
# 4. ํ๊ฒฝ ๋ณ์ ํธ์ง
sudo nano .env
# JWT_SECRET๊ณผ ADMIN_PASSWORD๋ฅผ ๋ณ๊ฒฝํ์ธ์!
# Ctrl+X, Y, Enter๋ก ์ ์ฅ
# 5. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๊ธฐํ ๋ฐ ์๋ฒ ์์
sudo npm run init
sudo pm2 start npm --name "elimg" -- start
sudo pm2 save
sudo pm2 startup
# Nginx ์ค์ ํ์ผ ์์ฑ
sudo nano /etc/nginx/sites-available/elimg.com
์๋ ๋ด์ฉ ๋ถ์ฌ๋ฃ๊ธฐ:
server {
listen 80;
server_name elimg.com www.elimg.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
# ์ค์ ํ์ฑํ
sudo ln -s /etc/nginx/sites-available/elimg.com /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl restart nginx
# ๋ฐฉํ๋ฒฝ ์ค์
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw --force enable
# Certbot ์ค์น
sudo apt install -y certbot python3-certbot-nginx
# SSL ์ธ์ฆ์ ์๋ ๋ฐ๊ธ
sudo certbot --nginx -d elimg.com -d www.elimg.com
# ์ด๋ฉ์ผ ์
๋ ฅ ๋ฐ ์ฝ๊ด ๋์
๊ฐ๋น์ DNS ๊ด๋ฆฌ:
ํ์
: A
ํธ์คํธ: @
๊ฐ: [Vultr ์๋ฒ IP ์ฃผ์]
ํ์
: A
ํธ์คํธ: www
๊ฐ: [Vultr ์๋ฒ IP ์ฃผ์]
ssh root@your-server-ip# FileZilla ์ฌ์ฉ
ํธ์คํธ: ftp.cafe24.com
์ฌ์ฉ์๋ช
: [์นดํ24 ID]
๋น๋ฐ๋ฒํธ: [์นดํ24 ๋น๋ฐ๋ฒํธ]
# ํ๋ก์ ํธ ์ ์ฒด ์
๋ก๋
npm installnpm run initnpm start| ๋ฐฉ๋ฒ | ๋์ด๋ | ์๊ฐ | ๋น์ฉ/์ | ์ถ์ฒ๋ |
|---|---|---|---|---|
| Railway | โญ ์ฌ์ | 30๋ถ | ๋ฌด๋ฃ~$5 | โญโญโญโญโญ |
| Vultr | โญโญ ๋ณดํต | 1์๊ฐ | $6 | โญโญโญโญโญ |
| ์นดํ24 | โญ ์ฌ์ | 30๋ถ | ๋ง์~3๋ง์ | โญโญโญ |
https://elimg.com
https://elimg.com/health
https://elimg.com/api/news?language=ko
POST https://elimg.com/api/admin/login
{
"username": "admin",
"password": "์ค์ ํ_๋น๋ฐ๋ฒํธ"
}
# Railway: ๋ก๊ทธ ํ์ธ
# Vultr: SSH ์ ์ ํ
sudo pm2 logs elimg
sudo pm2 restart elimg
# Vultr์์
sudo certbot renew
sudo systemctl restart nginx
์ด๋ณด์: Railway ์ ํ
๊ธฐ์ ์ ์ต์: Vultr ์ ํ
๊ด๋ฆฌ ํธ์์ฑ: ์นดํ24 ์ ํ
์๋ฆผG์ ๊ตํ
๊ธฐ์ ์ง์ ํ์ ์:
๋ฐฐํฌ ์ :
๋ฐฐํฌ ํ:
์ค๋น๋์ จ๋์? ์ง๊ธ ๋ฐ๋ก ์์ํ์ธ์! ๐