๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ

EC2 ๋ฐฐํฌ ํŒ

1. ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ํ›„ running๋˜๊ธฐ๊นŒ์ง€ 5๋ถ„, ์•„ํŒŒ์น˜ display๋ณด์ด๊ธฐ๊นŒ์ง€ 10๋ถ„ ์ •๋„ ๊ฑธ๋ฆผ

2. 502 Bad Gateway: 80๋ฒˆ ํฌํŠธ๋กœ ์ ‘์†, 3000์œผ๋กœ ํฌ์›Œ๋”ฉํ•ด์คฌ๋Š”๋ฐ, 3000์ด ์•„๋ฌด๊ฒƒ๋„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๊ณ  ์žˆ์—ˆ์Œ;

 

Nginx๋ฅผ ์ด์šฉํ•œ React ๋ฐฐํฌ์‹œ

index.html์„ ๋žœ๋”๋ง ํ•˜๊ณ , static์— ์žˆ๋Š” bundling ๋˜์–ด์žˆ๋Š” js์™€ css๋ฅผ importํ•˜์ง€ ๋ชปํ•˜๋Š” 404 ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

nginx conf ๊ฐ’ ๋‘ ๊ตฐ๋ฐ ๋ชจ๋‘ ๋ฐ”๊ฟ”์ฃผ์ž.

 

/etc/nginx/sites-available/default

server {
  listen 80;
  location / {
    root   /home/{user}/myapp/build;
    # root๋Š” React build๋กœ ๋งŒ๋“  buildํŒŒ์ผ๋“ค์˜ ๊ฒฝ๋กœ
    index  index.html index.htm;
    try_files $uri $uri/ /index.html;
  }
}

 

 

React router 404

react router๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ๋„˜์–ด๊ฐ€๊ฑฐ๋‚˜ ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•  ๋•Œ 404๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

react๋Š” SPAํ˜•์‹์œผ๋กœ index.html๋งŒ์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ nginx์˜ ๊ฒฝ์šฐ๋Š” URL์— ๋งž๋Š” htmlํŒŒ์ผ์„ ์ฐพ์œผ๋ ค๊ณ  ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์›์ธ์ด๋‹ค. ์ด๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด nginx ์„ค์ •์„ ๋ณ€๊ฒฝํ•ด์ฃผ์‹œ๋ฉด ํ•ด๊ฒฐํ•˜๋ฉด ๋œ๋‹ค.

/etc/nginx/sites-available/default

server {
  listen 80;
  location / {
    root   /home/{user}/myapp/build;
    index  index.html index.htm;
    server_name $uri;
    try_files $uri $uri/ /index.html;
  }
}
๋ฐ˜์‘ํ˜•