1ํธ์์ http://EC2_IP:3000์ผ๋ก ์ ์์ ๋์ง๋ง, ์ด๊ฑด ์ด๋๊น์ง๋ ์์๋ค.
์ค์๋น์ค์ฒ๋ผ ์ฐ๋ ค๋ฉด:
๊น์ง ๊ฐ์ผ ํ๋ค.
๋๋ hosting.kr์์ onfit.today๋ผ๋ ๋๋ฉ์ธ์ ๊ตฌ๋งคํ๋ค.
๋ค์์๋ฒ๋ ๊ธฐ๋ณธ์ผ๋ก ํธ์คํ ์ผ์ด์ ๋ค์์๋ฒ๋ฅผ ์ฌ์ฉํ๊ณ ,
DNS ๋ ์ฝ๋ ๊ด๋ฆฌ์์ ์ด๋ ๊ฒ ์ค์ ํ๋ค.
A@EC2_PUBLIC_IP (์: 35.74.238.231)AwwwEC2_PUBLIC_IPTTL์ 180์ด(3๋ถ) ์ ๋๋ก ๋์๋ค.
๊ทธ ๋ค์ ๋ก์ปฌ์์ ๋ค์ ๋ช ๋ น์ผ๋ก ์ ํ ์ํ๋ฅผ ํ์ธํ๋ค.
nslookup onfit.today
dig onfit.today
nslookup www.onfit.today
์ฒ์์๋ NXDOMAIN์ด ๋จ๋ค๊ฐ, ์๊ฐ์ด ์ง๋๋ฉด์ ์๋์ฒ๋ผ ๋์ค๋ฉด ์ฑ๊ณต์ด๋ค.
Name: onfit.today
Address: 35.74.238.231
EC2์์:
sudo nano /etc/nginx/sites-available/onfit
์ด๊ธฐ ๋ฒ์ ์ HTTP๋ง ์ด๋ ๊ฒ ์ก์๋ค.
server {
listen 80;
server_name onfit.today www.onfit.today;
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;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
๊ทธ๋ฆฌ๊ณ sites-enabled์ ์ฌ๋ณผ๋ฆญ ๋งํฌ:
sudo ln -s /etc/nginx/sites-available/onfit /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
์ค์ ์ฒดํฌ & ์ฌ์์:
sudo nginx -t
sudo systemctl restart nginx
์ด์ ๋ธ๋ผ์ฐ์ ์์ http://onfit.today๋ก ์ ์ํด๋ณด๋ฉด
ํฌํธ 3000์ด ์๋๋ผ 80๋ฒ ํฌํธ๋ก๋ ์จํ ํ๋ฉด์ด ๋ ์ผ ํ๋ค.
์ด์ HTTPS๋ฅผ ๋ถ์ธ๋ค.
sudo certbot --nginx -d onfit.today -d www.onfit.today
๊ณผ์ ์ค๊ฐ์:
๋ฅผ ๊ฑฐ์น๊ฒ ๋๊ณ , Certbot์ด Nginx ์ค์ ์ ์๋์ผ๋ก ์์ ํด์ค๋ค.
์ต์ข ์ ์ผ๋ก๋ ์๋์ ๋น์ทํ ์ค์ ์ด ์๊ฒผ๋ค.
server {
server_name onfit.today www.onfit.today;
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;
proxy_set_header X-Forwarded-Proto $scheme;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/onfit.today/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/onfit.today/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
server {
if ($host = www.onfit.today) {
return 301 https://$host$request_uri;
}
if ($host = onfit.today) {
return 301 https://$host$request_uri;
}
listen 80;
server_name onfit.today www.onfit.today;
return 404; # managed by Certbot
}
ํน์ ์ค์ ์ ์ฌ๋ฌ ๋ฒ ๋ง๋ค๋ค๊ฐ server_name ์ถฉ๋ ๊ฒฝ๊ณ ๊ฐ ๋จ๋ฉด
/etc/nginx/sites-enabled์ ์ค๋ณต ํ์ผ์ด ์๋์ง ํ์ธํ๊ณ ์ ๋ฆฌํ๋ค.
๋ง์ง๋ง์ผ๋ก ํ ์คํธ:
sudo nginx -t
sudo systemctl reload nginx
๋ธ๋ผ์ฐ์ ์์:
http://onfit.today โ ์๋์ผ๋ก https://onfit.todayhttps://onfit.today ์๋ฌผ์ ํ์ โ
์ฌ๊ธฐ๊น์ง ๋๋ฉด, ์ผ๋จ โ์๋น์ค ๋ฐฐํฌโ๋ ์์ฑ๋ ์ํ๋ค.
์ด์ ๋จ์ ๊ฑด ๋งค๋ฒ ์๋์ผ๋ก:
ssh ์ ์ โ git pull โ npm run build โ pm2 restart
ํ๋ ๊ฑธ GitHub Actions๋ก ์๋ํํ๋ ์ผ์ด๋ค.