์ ์ฒด ๊ธ
2. nginx์ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ด์ฉํ ๋ฌด์ค๋จ ๋ฐฐํฌ ํ๊ธฐ
๐บ ๋ชฉ์ฐจ ๐บ(๋ณด์๋ ค๋ฉด ์๋ ๋๋ณด๊ธฐ ๋ฅผ ๋๋ฌ์ฃผ์ธ์.) ๋๋ณด๊ธฐ 1. nginx์ ๋ก๋ ๋ฐธ๋ฐ์ฑ๊ณผ ์ธ์ ์ ์ง (session storage ๋ฐฉ์ ํ์ฉ) 2. nginx์ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ด์ฉํ ๋ฌด์ค๋จ ๋ฐฐํฌ ํ๊ธฐ 3. ์ผ๋ถ ์์ค ์์ ํ ์๋ ๋ฐฐํฌ ๋ฐฉ๋ฒ (์๋ฒ์์ git pull+ssh ์ด์ฉ) ๐บ ๋ณธ ์์ ์ ๋ฐ๋ก ์ด์ ๊ฒ์๊ธ์ ์์ค๋ฅผ ํ์ฉํฉ๋๋ค. ๐บ ๋ฌด์ค๋จ ๋ฐฐํฌ๋ฅผ ์ํ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๊ฒ ์ง๋ง, ์ฌ๊ธฐ์๋ ์ทจ๋ฏธ ๊ฐ๋ฐ์๋ก ๋ฅ๋ ฅ์ด ์์ง ๋ง์ด ๋ถ์กฑํ ์ ๊ฐ ์๊ฐํ๊ธฐ์ ๊ฐ์ฅ ๊ฐ๋จํ๋ค๊ณ ์๊ฐ๋๋ ๋ฐฉ๋ฒ์ ๊ตฌํํด ๋ณธ ๊ฒ์ ๋๋ค. ๐ด ์ด์ ์ ๊ณ์ ์ฌ์ฉํ์๋ git push + github Action ์ ์ฌ์ฉํ ๋ฐฉ๋ฒ์ ์ด๋ฒ์๋ ์ฌ์ฉํ์ง ์์ต๋๋ค. ์๋ํ๋ฉด, ์์์ git push ํ ์๋ฒ๋ฅผ ํ์ธํด๋ณด๋ฉด, ์๋ฒ์ ์๋ ๋ชจ๋ ํ์ผ๋ค์ด ์ฌ..
1. nginx์ ๋ก๋ ๋ฐธ๋ฐ์ฑ๊ณผ ์ธ์ ์ ์ง (session storage ๋ฐฉ์ ํ์ฉ)
๐บ ๋ชฉ์ฐจ ๐บ(๋ณด์๋ ค๋ฉด ์๋ ๋๋ณด๊ธฐ ๋ฅผ ๋๋ฌ์ฃผ์ธ์.) ๋๋ณด๊ธฐ 1. nginx์ ๋ก๋ ๋ฐธ๋ฐ์ฑ๊ณผ ์ธ์ ์ ์ง (session storage ๋ฐฉ์ ํ์ฉ) 2. nginx์ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ด์ฉํ ๋ฌด์ค๋จ ๋ฐฐํฌ ํ๊ธฐ 3. ์ผ๋ถ ์์ค ์์ ํ ์๋ ๋ฐฐํฌ ๋ฐฉ๋ฒ (์๋ฒ์์ git pull+ssh ์ด์ฉ) ์ด์ ๊ฒ์๊ธ์์ nginx์ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ํ์ฉํ ๋, html 1๊ฐ ํ์ผ๋ง ์ด์ฉ์ ํ์์ต๋๋ค. ๋จ, ์ด์ ๋ฐฉ์์ผ๋ก๋ ๋ก๊ทธ์ธ ๋ฑ์์ ํ์ฉํ๋ ์ธ์ ๋ฑ์ ์ ์ง๊ฐ ๋์ง ์์ต๋๋ค. ์ด๊ฒ์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ง๋ง, ์ฌ๊ธฐ์๋ redis๋ฅผ ์ด์ฉํ session storage ๋ฐฉ์์ ํ์ฉํด ๋ณผ ๊ฒ์ ๋๋ค. 1. ํด๋ ๋ฐ ํ์ผ ์์ฑ ๊ฐ. ํด๋ ๋ฐ ํ์ผ์ ์๋์ ๊ฐ์ด ๊ตฌ์ฑํ๋ฉด ๋ฉ๋๋ค. ๋. ์ ํด๋ ๋ฐ ํ์ผ๋ค์ ์๋ ์์ ๋ค์ด๋ฐ..
18. ์์ผ๋์นด๋ ์ธ์ฆ์ ์๋ ๊ฐฑ์ (docker + Let's Encrypt + wildcard ์ธ์ฆ์ + crontab)
1. ์ธ์ฆ์ ๊ฐฑ์ ํ๋ผ๋ ๋ฉ์ผ ์ด์ ์๋ฆฌ์ฆ ๊ธ ์ค 17๋ฒ ๊ฒ์๊ธ์์ ์์ผ๋์นด๋ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ๋ฐ์ ์ฌ์ดํธ์ ์ ์ฉ์ ํ์์ต๋๋ค. Let's Encrypt ์ธ์ฆ์๋ค์ 90์ผ๋ง๋ค ๊ฐฑ์ ์ ํด์ผ ํ๋๋ฐ์. ์ผ๋ง์ ์์ ๊ฐ์ด ์ธ์ฆ์๋ฅผ ๊ฐฑ์ ํ๋ผ๋ ๋ฉ์ผ์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋, ์ด์ ๊ฐฑ์ ์ ํด์ผ ๊ฒ ์ง์? ํ์ง๋ง, 3๊ฐ์๋ง๋ค ๋งค๋ฒ ์๋์ผ๋ก ๊ฐฑ์ ํ๋ ๊ฒ์ ๋๋ฌด ๊ท์ฐฎ๊ธฐ๋ ํ๊ณ ๊น๋นก ์์ ์๋ ์์ผ๋, ์๋์ชฝ์์๋ crontab ๊ธฐ๋ฅ์ ์ด์ฉํ์ฌ ์๋์ผ๋ก ๊ฐฑ์ ๋๋๋ก ํ ๊ฒ์ ๋๋ค. 2. ๊ฐฑ์ ์์ ์ ์ธ์ฆ์ ํ์ธํด ๋ณด๊ธฐ => ํ์ ์์ ์ด ์๋ ์ฐธ๊ณ ์ฉ์. ๊ฐ. ์ธ์ฆ์ ๊ฒ์ฆํด๋ณด๊ธฐ sudo docker run --rm --name certbot \ -v /etc/letsencrypt:/etc/letsencrypt \ certbot/dns-c..
17. ์๋ฒ์ SSL ์ ์ฉํ๊ธฐ (docker + Let's Encrypt + wildcard ์ธ์ฆ์ + Cloudflare)
โจ ์ด๋ฒ ๊ฒ์๊ธ์ ์์ ์ด ๊ตฌ์ ํ ๋๋ฉ์ธ์ด ์์ด์ผ๋ง ๊ฐ๋ฅํ ์์ ์ ๋๋ค. โจ SSL ์ธ์ฆ์๋ ๋ฌด๋ฃ ์ธ์ฆ์์ธ Let's Encrypt ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ๋ฐ์ ์ฌ์ฉํ ๊ฒ์ด๋ฉฐ, ๋จ์ผ ์ธ์ฆ์๊ฐ ์๋ ์๋ธ ๋๋ฉ์ธ ์ด๋ค ๊ฒ์ด๋ ๋ชจ๋ ์ปค๋ฒํ ์ ์๋ ์์ผ๋์นด๋ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ๋ฐ์ ์ฌ์ฉํฉ๋๋ค. โจ ์์ผ๋์นด๋ ์ธ์ฆ์๋ ์์ ์ ๋๋ฉ์ธ์ ๊ด๋ฆฌํ๋ ์ฌ์ดํธ์ DNS์ ์ด๋ค ๊ฐ์ ์ง์ ์ ๋ ฅํ๋ ๋ฐฉ์์ผ๋ก ์ธ์ฆ์ ๋ฐ์ ๋ฐ๊ธ์ ๋ฐ์ ์ ์์ผ๋ฉฐ, 3๊ฐ์๋ง๋ค ์ด๋ฐ ๋ฐฉ์์ผ๋ก ๋งค๋ฒ ๊ฐฑ์ ์ ํด์ผ ํฉ๋๋ค. ๊ทธ๋์ ์ข ๊ท์ฐฎ์ ์์ ์ด์ง์. ํ์ง๋ง, DNS๋ฅผ ๊ด๋ฆฌํด์ฃผ๋ ์ฌ์ดํธ ์ค์๋ DNS ๊ฐ์ ์ธ๋ถ์์ ๋ณ๊ฒฝํ ์ ์๋ API๋ฅผ ์ ๊ณตํ๋ ๊ณณ๋ ์์ต๋๋ค. ์ด๋ฅผ ์ด์ฉํ๋ฉด ์ธ์ฆ์ ๋ฐ๊ธ ๋ฐ ๊ฐฑ์ ์ ์๋์ผ๋ก ์ฒ๋ฆฌํด ์ค ์ ์์ต๋๋ค. ๊ทธ๋์ ๊ทธ๋ฐ ์ฌ์ดํธ ์ค ์ ๋ Clou..
16. https๋ฅผ ์ฐ๊ธฐ ์ํด ๋ก์ปฌ์์ SSL ํ ์คํธ ํ๊ธฐ (with mkcert)
์์์ ์ฐ๋ฆฌ๋ ๋ก์ปฌ์์ ์์๋ก ๋๋ฉ์ธ์ ํ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณด์์ต๋๋ค. ์ด์ ์์์ ์์๋ก ๋ง๋ ๋๋ฉ์ธ์ ์ด์ฉํ์ฌ ๋ก์ปฌ์์ ์ธ์ฆ์๋ฅผ ์์ฑํ์ฌ https๋ฅผ ํ ์คํธ ํด ๋ณผ ๊ฒ์ ๋๋ค. ๐ด ์ด๋ฒ ๊ฒ์๊ธ ๋ด์ฉ์ ๋ฐ๋ผํ์๊ธฐ ์ ์ docker>front ํด๋ ์์ default.conf ํ์ผ์ ๋ฐ๋ก ๋ณต์ฌํด ๋์ผ์๊ธธ ์ถ์ฒ๋๋ฆฝ๋๋ค. ์ด์ ๋ ๋ณธ ๊ฒ์๊ธ ๋ง์ง๋ง ๋ถ๋ถ์ ๋จผ์ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค. 1. mkcert mkcert๋ ๋ก์ปฌ ํ๊ฒฝ์์ ๊ฐ๋จํ๊ฒ ์ธ์ฆ์๋ฅผ ์์ฑํ์ฌ https๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ ๋๊ตฌ์ ๋๋ค. mkcert์ ๋ํ ์ข๋ ์์ธํ ๋ด์ฉ์ ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์ธ์. https://github.com/FiloSottile/mkcert GitHub - FiloSottile/mkcert: A simple z..
15. ๋ก์ปฌ์์ ์์ดํผ ๋์ ๋๋ฉ์ธ๋ช ์ฌ์ฉํ๊ธฐ(hosts ์์ )
์๋ฒ์์ https๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋จผ์ ๋๋ฉ์ธ ํ๋๋ฅผ ๊ตฌ์ ํด์ผ ํฉ๋๋ค. ๋ค๋ง, ์์ง ๊ณต๋ถ๋ ํ ์คํธ๋ฅผ ์ํด์ ๋๋ฉ์ธ์ ๋จผ์ ๊ตฌ์ ํ๊ธฐ์๋ ๋ถ๋ด์ค๋ฝ๊ฒ ์ฃ ? ๊ทธ๋์ ๋จผ์ ๊ตฌ์ ํ ๋๋ฉ์ธ ์์ด ๋ก์ปฌ์์ ๋๋ฉ์ธ ํ๋๋ฅผ ๋ง์๋๋ก ์์ฑํ์ฌ ์ฌ์ฉ์ ํด ๋ณผ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ๊ธ์์๋ ์ด๋ฅผ ์ด์ฉํ์ฌ https ์ ์ฉ์ ํด ๋ณผ ๊ฒ์ ๋๋ค. ์๋์ ๋ด์ฉ์ ์๋์ฐ์ฆ 10 ๊ธฐ์ค์ผ๋ก ์์ฑ๋ ๋ด์ฉ์ ๋๋ค. ์ด์ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค. 1. hosts ํ์ผ ์์ ๊ฐ. ์ด ๋ฐฉ๋ฒ์ ์์ผ๋ก ์๋ฒ์์ ์ฌ์ฉํ ๋๋ฉ์ธ์ ๋ฏธ๋ฆฌ ๋ก์ปฌ์์ ํ ์คํธ ํ๊ฑฐ๋, ๋๋ ๋ง์๋๋ก ๋๋ฉ์ธ์ ๋ง๋ค์ด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๋. ๋ธ๋ผ์ฐ์ ์์ ๋๋ฉ์ธ์ ์ ๋ ฅํ๋ฉด ์ธ๋ถ DNS ์๋ฒ์์ ํด๋น ๋๋ฉ์ธ์ ๋ํ ip๋ฅผ ํ์ธ ํ ํด๋น ip์ ์๋ฒ๋ก ์ฐพ์๊ฐ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ฐ๋ฐ, ๊ทธ ์ ์..
14. Nginx - Reverse Proxy, Load Balancing ๊ธฐ๋ฅ ํ์ฉ
1. Reverse Proxy ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ์ด์ ๊ฐ. ๋ณด์ ๊ฐํ - ์ด์ ์๋ฒ๋ค์ ์ ๋จ์ ๋์ง ์๊ณ ํ๋ก์ ๊ธฐ๋ฅ์ ํ๋ Nginx ์๋ฒ ๋ท ๋จ์ ์จ๊ฒจ๋๊ธฐ ๋๋ฌธ์ ์ข๋ ํดํน์ ์์ ํ๋ค๊ณ ํจ. ๋. ํธ๋ํฝ ๋ถ์ฐ(๋ก๋ ๋ฐธ๋ฐ์ฑ) - ์๋ฒ๋ฅผ ํ๋๋ง ์ด์ํ ๊ฒฝ์ฐ ๋ชจ๋ ํธ๋ํฝ์ด ํ ๊ณณ์๋ง ๋ชฐ๋ ค ์ด์์ด ์ด๋ ค์ ์ง ์ ์์. ์ด์ ์๋ฒ๋ฅผ ์ฌ๋ฌ๊ฐ ๋๊ณ ๊ฐ๊ฐ์ ์๋ฒ๋ก ํธ๋ํฝ์ ๋ถ์ฐ์์ผ ์ฃผ๋ ๊ธฐ๋ฅ. 2. ํด๋ ๋ฐ ํ์ผ ์์ฑ ๊ฐ. docker ํด๋ ํ๋จ์ front ํด๋๋ฅผ ์์ฑํด ์ค๋๋ค. ๋. docker>front ํด๋ ์์ nginx.conf ํ์ผ ์์ฑ ํ ์๋ ๋ด์ฉ ์ ๋ ฅ user nginx; worker_processes auto; error_log /var/log/nginx/error.log notice; pid ..
13. nginx + php + mysql + phpmyadmin ์ค์นํ๊ธฐ
๐บ ์ฐ๋ฆฌ๋ ์์์ nginx 2๊ฐ๋ฅผ ์ค์นํด ๋ณด์์ต๋๋ค. ์ด์ ์ฌ๊ธฐ์ ์ถ๊ฐ๋ก nginx + php + mysql + phpmyadmin ์ ๋ ์ค์นํ ๊ฒ์ ๋๋ค. ์ nginx ๋ฅผ ์ด๋ ๊ฒ ๋ง์ด ์ค์นํ๋๊ณ ์? ์์ผ๋ก ์ฐ๋ฆฌ๋ nginx์ Reverse-Proxy ๊ธฐ๋ฅ์ ์ฌ์ฉํ ๊ฒ์ด๋ฉฐ, ๋ถํ ๋ถ์ฐ์ ์ํ ๋ก๋ ๋ฐธ๋ฐ์ฑ๋ ๊ตฌํํด ๋ณผ ๊ฒ์ ๋๋ค. (์? ๊ทธ๋ฅ ๊ณต๋ถ๋ฅผ ์ํด์...) 1. ํด๋ ์ ๋ฆฌ ๊ฐ. www ํด๋๋ฅผ ๋ง๋ ํ, ์ด์ ์ ๋ง๋ data, data2 ํด๋๋ฅผ www ํด๋ ๋ฐ์ผ๋ก ์ฎ๊ฒจ์ค๋๋ค. ๋. ๊ทธ๋ฆฌ๊ณ www ํด๋ ๋ฐ์ data3 ํด๋๋ ๋ง๋ค์ด ์ค๋๋ค. ๋ค. data3 ํด๋ ์์ index.php ํ์ผ์ ํ๋ ์์ฑํ ํ ์๋์ ๊ฐ์ด ์ ๋ ฅํด ์ค๋๋ค. (์๋ ์ ๋ ฅํ๋ ๊ฐ๋ค์ ๋ณธ ๊ฒ์๊ธ ํ๋จ์์ ๋ชจ๋ ์ ๋ ฅํ๋ ๋ด์ฉ๋ค์ ..
12. ์๋ฒ์ ๋์ปค ์ค์น์ network ์ค์ ๋ณ๊ฒฝ ์ฌํญ ํ์ธํ๊ธฐ
1. Ubuntu 22.04 ์๋ฒ ์ด๊ธฐ ๋คํธ์ํฌ ํ๊ฒฝ ๋ชจ์ต (๋์ปค ์ค์น ์ ) 2. ๋์ปค ์ค์น ํ (์์ง ์คํ๋ ์ปจํ ์ด๋๊ฐ ์๋ ์ด๊ธฐ ๋ชจ์ต) 3. docker-compose.yml๋ฅผ ์ด์ฉํ์ฌ nginx ์ปจํ ์ด๋ 2๊ฐ๋ฅผ ๋์ด ํ์ ๋ชจ์ต ifconfig ์กฐํ ํ ์ถ๊ฐ๋ ๋ถ๋ถ๋ง 4. ๋ฐ๋ก ์ ์ด๋ฏธ์ง์์ progstudy_default ๋ผ๋ ๋ธ๋ฆฌ์ง๊ฐ ์๊ฒผ์ผ๋ฉฐ, ์ด ๋ธ๋ฆฌ์ง์ ์ฐ๊ฒฐ๋ ์ปจํ ์ด๋๋ฅผ ํ์ธํด ๋ณด๋ ค๋ฉด ์๋์ ๊ฐ์ ๋ช ๋ น์ ์ ๋ ฅํ๋ฉด ๋ฉ๋๋ค. docker network inspect progstudy_default 5. ์ฐ๋ฆฌ๊ฐ ์์์ ์์ ํ docker-compose.yml ํ์ผ์ ์๋์ ๊ฐ์ด network ์ค์ ์ ์ถ๊ฐํด ์ค ํ ์๋ฒ๋ก ๋ฐฐํฌ ํ ๋์ปค ๋คํธ์ํฌ ๊ตฌ์ฑ์ ์ดํด๋ณด๋ฉด ์๋์ ๊ฐ์ต๋๋ค. version: '3...
11. ์๋ฒ์ vnstat ์ค์น (docker-compose.yml ์ด์ฉ)
์ฐ๋ฆฌ๋ ์์์ vnstat ํ๋ก๊ทธ๋จ์ docker ๋ช ๋ น์ด๋ก ์๋ฒ์ ์ง์ ์ค์นํด ๋ณด์์ต๋๋ค. ์ด๋ฒ์๋ docker-compose.yml๋ก ์ค์นํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. 1. ์ง๋๋ฒ ์ฌ์ฉํ docker ๋ช ๋ น์ด docker run -d \ --restart=unless-stopped \ --network=host \ -e HTTP_PORT=8685 \ -v /etc/localtime:/etc/localtime:ro \ -v /etc/timezone:/etc/timezone:ro \ --name vnstat \ vergoh/vnstat 2. docker-compose.yml ํ์์ผ๋ก ๋ณํ vnstat: image: vergoh/vnstat:latest container_name: vnstat restart: unl..
10. ์๋ฒ ์๋ ๋ฐฐํฌ (4) ๋ฐฐํฌ์ ์๋ฒ์์ docker-compose.yml ์๋ ์คํ
๐ด ์ ๊ฒ์๊ธ์์ ์ฐ๋ฆฌ๋ ๋ก์ปฌ์์ ์์ค ์์ ํ git push ๋ช ๋ น์ ์ด์ฉํ์ฌ github์ ์ฌ๋ฆฌ๋ฉด, ์๋์ผ๋ก ์๋ฒ์ ๋ฐฐํฌ๋๋ ๊ฒ์ ์ด๋ฏธ ์๋ฃํ์์ต๋๋ค. ์ด๋ฅผ ํ์ฅํ์ฌ, ์๋ฒ์ ์ฌ๋ ค์ง docker-compose.yml ํ์ผ์ ์๋์ผ๋ก ์คํ์์ผ nginx ์๋ฒ๊ฐ ์ค์น๋๋๋ก ํ ๊ฒ์ ๋๋ค. ๐ด ์๋ ์์ ์ ์๋ฃํ๋ฉด ์๋์ผ๋ก nginx ์๋ฒ๊ฐ ์คํ๋๋ฉฐ, ์์์ ์ฐ๋ฆฌ๋ 80 ํฌํธ์ 8080 ํฌํธ๋ฅผ ์ด์ฉํ nginx 2๊ฐ๊ฐ ์คํ๋๋๋ก ๊ตฌ์ฑํ์์ต๋๋ค. ๋จ, ์ฒ์์๋ ์ ์์ด ๋์ง ์์ ๊ฒ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ํด๋ผ์ฐ๋์์๋ ๋ฐฉํ๋ฒฝ์ด ๋ชจ๋ ํฌํธ๋ฅผ ๋ง๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ธ๋ถ์์์ ์ ์์ ์ํด ํด๋ผ์ฐ๋ ๋ฐฉํ๋ฒฝ์์ 80, 8080 ํฌํธ๋ฅผ ๊ผญ ์ด์ด์ฃผ์ด์ผ ํฉ๋๋ค. ํด๋ผ์ฐ๋๋ง๋ค ๋ฐฉํ๋ฒฝ์ ์ฌ๋ ๋ฐฉ๋ฒ์ด ์กฐ๊ธ์ฉ ๋ค๋ฅด๋ ๊ตฌ๊ธ๋ง ํ์ ์ ํด..
9. (tip) git Add, Commit, push ํ๋ฒ์ ํ๊ธฐ
์์์ ์ฐ๋ฆฌ๋ ์์ค ์์ ํ ์๋ ์ธ ์ค์ ๋ช ๋ น์ด๋ก github์ ์ฌ๋ ค์ฃผ๊ณ ์์ต๋๋ค. git add * git commit -m "์ธ๋ฒ์งธ" git push ๊ทธ๋ฐ๋ฐ 3์ค์ ์ ๋ ฅํ๋ ค๋ ์ ์ ๊ฒฝ์ฐ ๋๋ฌด ๊ท์ฐฎ๋๊ตฐ์. ๊ทธ๋์ ์ ๋ ์ด๊ฒ์ ์๋์ ๊ฐ์ด ๋จ ํ์ค๋ก ๋ฐ๊พธ์ด ์์ ํ๊ณ ์์ต๋๋ค. git mung "์ปค๋ฐ ๋ด์ฉ" ์ ํ์ค๋ง ์ ๋ ฅํ๋ฉด, add+commit+push๊ฐ ๋ชจ๋ ์ด๋ฃจ์ด์ง๋ฉฐ, ์์์ ์์ ํ๋๋ก ์๋ฒ ๋ฐฐํฌ๊น์ง ์๋์ผ๋ก ์ฒ๋ฆฌ ๋๋ต๋๋ค. ์ด ๊ธฐ๋ฅ์ git alias ๊ธฐ๋ฅ์ ์ด์ฉํ๋ ๊ฒ์ ๋๋ค. ํน์ ์ ์ ๊ฐ์ด ํ ์ค๋ก ๋ชจ๋ ์ฒ๋ฆฌํ๊ณ ์ถ์ผ์ ๋ถ๋ค์ git alias ๊ธฐ๋ฅ์ ์ด์ฉํ๋ ๊ฒ์ ๋๋ค.ํฐ๋ฏธ๋์ ์๋์ ๊ฐ์ด ์ ๋ ฅ์ ํด์ฃผ์๋ฉด ๋ฉ๋๋ค. git config --global alias.mung '!f() { git ..
8. ์๋ฒ ์๋ ๋ฐฐํฌ (3) ๋ก์ปฌ ์์ค -> git push -> github -> ์๋ฒ ์๋ ๋ฐฐํฌ ํ์ธ
๐บ ์๋ ๋ฐฐํฌ๋ฅผ ์ํ ๊ธฐ๋ณธ์ ์ธ ์ค๋น๊ฐ ๋ชจ๋ ์๋ฃ๋์์ต๋๋ค. ์ด์ ์๋ ๋ฐฐํฌ๊ฐ ๋๋ ๊ฒ์ ํ์ธํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. 1. git push๋ฅผ ํ๊ธฐ ์ํด ๋ก์ปฌ ์์ค๊ฐ ์ฝ๊ฐ์ด๋ผ๋ ์์ ๋์ด์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์๋ data ํด๋ ๋ฐ์ ์๋ index.html ํ์ผ์ ๋ง์๋๋ก ์ฝ๊ฐ ์์ ํด์ค๋๋ค. 2. ํฐ๋ฏธ๋์ git push ๋ฅผ ์ ๋ ฅํ๊ธฐ ์ ์ ๋ฐฐํฌ๊ฐ ์ด๋ฃจ์ด์ง๋ ๊ณผ์ ์ ํ์ธํ๊ธฐ ์ํด ๋ช๊ฐ์ ์ฐฝ์ ์ด์ด๋ก๋๋ค. ๐ ํ๋์ ์ฐฝ์ github์ ํด๋น repository์ Actions ๋ฉ๋ด์ ์ด์ด๋ก๋๋ค. ๐ ๋๋ค๋ฅธ ์ฐฝ์ github์ ํด๋น repository์ Settings-Actions-Runners ๋ฉ๋ด ์ฐฝ์ ์ด์ด๋ก๋๋ค. 3. ์ด์ VS Code ์ ํฐ๋ฏธ๋ ์ฐฝ์์ git push๋ฅผ ํ ๊ฒ์ ๋๋ค. ์๋์ ๋ช ๋ น์ ์์๋๋ก ์ ๋ ฅ..
7. ์๋ฒ ์๋ ๋ฐฐํฌ (2) ์๋ฒ์ ์๋ ๋ฐฐํฌ๋ฅผ ์ํ runner ์ค์น
๐ด ์์ ๊ธ์์ ์์ฑํ github action๊ณผ ์ฐ๋๋์ด์ง๋ runner๋ฅผ ์๋ฒ์ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค. 1. github ํํ์ด์ง์์์ ์์ ๊ฐ. ๋จผ์ , github์ ํ์ฌ ์์ repository ์์ Settings - Actions - Runners ๋ฅผ ์ ํํด ์ค ํ, New self-hosted runner ๋ฒํผ์ ๋๋ฌ์ค๋๋ค. ๋. ํ์ฌ ์ค๋ช ํ๋ ์๋ฒ๋ Ubuntu ๋ฆฌ๋ ์ค ์๋ฒ์ด๋ฏ๋ก Create self-hosted runner ์ฐฝ์์ Linux๋ฅผ ์ ํํด ์ค๋๋ค. โ ์ด์ ์์ ์๋ ๋นจ๊ฐ ์ ์ ์ ์๋ ๋ด์ฉ๋ค์ ํ๋์ฉ ์๋ฒ์์ ์คํํด ์ฃผ์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋, ์ github ์ฐฝ๊ณผ ์๋ฒ ssh ์ ์์ฐฝ์ ๊ฐ์ด ์ด์ด๋์๊ณ ์์ ํ๋ฉด ํธํ ๊ฒ์ ๋๋ค. 2. ์๋ฒ์์์ ์์ ๐ด๐ด ์๋์ ๋ชจ๋ ์์ ์..
6. ์๋ฒ ์๋ ๋ฐฐํฌ (1) ๋ก์ปฌ => github (Docker+Nginx_proxy+SSL+Github action)
๐บ ์ง๊ธ๋ถํฐ ์ฐ๋ฆฌ๋ ๋ก์ปฌ์์ ์์ค ์์ ํ git push ๋ก github์ ์ฌ๋ฆฌ๋ฉด, ์ฆ์ ์๋์ ์ผ๋ก ์๋ฒ์๊น์ง ๋ฐฐํฌ๋๋ ๊ฒ๊น์ง ๊ตฌํ์ ํ ๊ฒ์ ๋๋ค. ๊ทธ ์ฒซ๋ฒ์งธ๋ก github์ repository๋ฅผ ์์ฑ ํ ๋ก์ปฌ์์ git phsh๋ก github์ ์ฌ๋ฆฌ๋ ๊ฒ์ ํด๋ณด๊ฒ ์ต๋๋ค. ๋ฌผ๋ก ์ด๋ฅผ ์ํด์๋ ๋น์ฐํ github์ ๊ฐ์ ์ด ๋์ด ์์ด์ผ ๊ฒ ์ง์? ๊ฐ์ ๋ถ๋ถ์ ๋ฐ๋ก ์ค๋ช ํ์ง ์๊ฒ ์ต๋๋ค. 1. github์ ์๋ก์ด repository ์์ฑ ๊ฐ. Repositories ์์ New ๋ฒํผ์ ๋๋ฌ์ค๋๋ค. ๋. Repository name ์ ๋ ฅ, Private ์ ํ ํ ๋งจ ๋ฐ Create repository ๋ฅผ ๋๋ฌ์ค๋๋ค. ๋ค. ๋ค์ ํ๋ฉด์์ ๋์ค๋ ๋ช ๋ น์ด๋ค์ ๋ณต์ฌํฉ๋๋ค. 2. VS Code๋ก ๋์์์ ์์ ํ๊ธฐ ๊ฐ. ..