์ด๋ฒ ๊ธ์์๋ AWS EC2๋ฅผ ์ด์ฉํ์ฌ Node.js๋ฅผ ๋ฐฐํฌํด๋ณด๊ฒ ์ต๋๋ค. ์ฐ๋ถํฌ๋ฅผ ํด๋ณด์์ง ์์๋ค๋ฉด ์กฐ๊ธ ์ด๋ ค์ด ๋ถ๋ถ์ด ์์ ์๋ ์์ต๋๋ค.
AWS EC2 ์์ํ๊ธฐ
EC2 ๊ฐ์ ๊ฒฝ์ฐ S3์ ๋ค๋ฅด๊ฒ ๋น์ฉ์ด ๊ฝค ๋์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ํ์ํ ๊ฒฝ์ฐ๊ฐ ์๋๋ฉด ๋ฐ๋์ ์ธ์คํด์ค๋ฅผ ์ค์งํด์ผ ํฉ๋๋ค. ์๋ ๊ฒฝ์ฐ ์ฒญ๊ตฌ์ ๋ณด๊ณ ์ ์ฒ๋ผ ๊น์ง ๋๋๋๋ค ใ ใ
AWS EC2์ ์ ์ํ๊ณ , ์ธ์คํด์ค ์์ ๋ฒํผ์ ๋๋ฌ์ค๋๋ค.
์ฐ๋ถํฌ๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๊ธฐ์ 18.04 ๋ฒ์ ์ ์ฐ๋ถํฌ๋ฅผ ์ ํํด์ค๋๋ค.
์ธ์คํด์ค ์ ํ ์ ํ์์ ์ด๋ฏธ์ง์ ๊ฐ์ด ์ฒดํฌํ๊ณ ๊ฒํ ๋ฐ ์์ ๋ฒํผ์ ๋๋ฌ์ค๋๋ค.
์ญ์ญ ๋์ด์์ 7๋จ๊ณ์์ ๋ณด์ ๊ทธ๋ฃน ํธ์ง์ ํด๋ฆญํด์ค๋๋ค.
ํ ์คํธ์ฉ์ด๊ธฐ์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑํ์์ต๋๋ค. ์ ์ธ๊ณ ๋๊ตฌ๋ ์๋ฌด ๊ณณ์์ ๋ค์ด์ฌ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฒํ ๋ฐ ์์ ๋ฒํผ์ ๋๋ฌ์ค๋๋ค.
์์ํ๊ธฐ๋ฅผ ๋๋ฌ์ค๋๋ค.
ํค ํ์ด ๊ด๋ จํ ํ์ ์ฐฝ์ด ๋ํ๋ฉ๋๋ค. ์ ํค ํ์ด ์์ฑ์ ํ์๊ณ ํค ํ์ด ์ด๋ฆ์ ์ค์ ํ์๊ณ ํค ํ์ด ๋ค์ด๋ก๋๋ฅผ ๋๋ฆ ๋๋ค. ํค ํ์ด์ ๊ฒฝ๋ก๋ ๋ฐ๋์ ์ฌ์ฉ์์ ์ ์ฅํด์ฃผ์ธ์. ์๊ทธ๋ฌ๋ฉด ๋์ค์ unbuntu์์ ๊ถํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
๋ชจ๋ ์ค์ ์ ๋ง์ณค์ผ๋ฉด ์ธ์คํด์ค ์์ ๋ฒํผ์ ๋๋ฌ์ค๋๋ค.
์ธ์คํด์ค ๋ณด๊ธฐ๋ฅผ ๋๋ฌ์ค๋๋ค.
์ธ์คํด์ค๊ฐ ๋ฆฌ์คํธ์ ๋ณด์ ๋๋ค. ์ํ ๊ฒ์ฌ๋ ๋ช๋ถ ์ง๋๋ฉด 2/2.. ์ด๋ฐ ์์ผ๋ก ๋ฐ๋๋๋ค.
๋ง์ฝ ์ ์ UI๊ฐ ๋ค๋ฅด๋ฉด ์ผ์ชฝ ์๋จ์ New EC2๋ฅผ ํ์ฑํํด์ฃผ์๋ฉด ๋ฉ๋๋ค.
์ธ์คํด์ค ID๋ฅผ ๋๋ฌ ์ธ์คํด์ค ์์ฝ์ผ๋ก ์ด๋ํฉ๋๋ค. ๊ทธ ํ ์ฐ๊ฒฐ ๋ฒํผ์ ๋๋ฌ์ค๋๋ค.
SSH ํด๋ผ์ด์ธํธ ํญ์ ๋๋ฌ ์ด๋ํด์ค๋๋ค. 4๋ฒ์ ์๋ฅผ ๋ณด๋ฉด ssh -i ~ ๋ช ๋ น์ด๋ฅผ ๋ณต์ฌํ์ฌ unbuntu ํ๊ฒฝ์์ ์ ๋ ฅํด์ค๋๋ค.
window์์ ์ฐ๋ถํฌ ์คํํ๊ธฐ
window์ cmd ๊ฐ์ ๊ฒฝ์ฐ ์ผ๋ฐ์ ์ผ๋ก ssh ๋ช ๋ น์ด๋ฅผ ์คํํ ์ ์์ต๋๋ค. ๊ทธ๋์ ์ ๋ ์ฐ๋ถํฌ๋ฅผ ์ค์นํ์ฌ ์ฌ์ฉํฉ๋๋ค.
๋ฌผ๋ก putty๋ฅผ ์ค์นํ์๊ณ ssh๋ฅผ ์คํํด๋ ์๊ด์์ต๋๋ค.
๋นจ๊ฐ์ ๋ถ๋ถ์ ์ฒดํฌํ์ ํ ์ฌ๋ถํ ์ ํด์ค๋๋ค. ์ฌ๋ถํ ์ ํ์์ผ๋ฉด Microsoft Store์์ ubuntu๋ฅผ ๊ฒ์ํ์ ํ ์ค์นํด์ค๋๋ค.
์ค์น๊ฐ ์๋ฃ๋์์ผ๋ฉด ์ด์ ๋ถํฐ ubuntu๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฐ๋ถํฌ์์ ์๋์ฐ ํด๋์ ์ ๊ทผํ๋ ค๋ฉด cd /mnt ๋ฅผ ํ์๋ฉด ๋ฉ๋๋ค. ๋ช ๋ น์ด์ ๋ํ ์ค๋ช ์ ์๋ตํ๊ฒ ์ต๋๋ค.
์๋์ฐ ํ์ผ์ธ c๊ฐ ๋ฆฌ์คํธ์ ๋ณด์ ๋๋ค.
ํค ํ์ด๋ก ์ธ์คํด์ค ์ฐ๊ฒฐํ๊ธฐ
๋ค์ ๋ณธ๋ก ์ผ๋ก ๋์์ค๊ฒ ์ต๋๋ค. ์๊น ํค ํ์ด๋ฅผ ์ ์ฅํ ๊ณณ์ผ๋ก cd๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ํ ํ, ์ธ์คํด์ค์ ์ฐ๊ฒฐ ํ๋ฉด์์์ ssh -i ~ ๋ก ๋์ด์๋๊ฑธ ์ ๋ ฅํด์ค๋๋ค. ํ๊ธ์๋ผ๋ ํ๋ฆฌ๋ฉด ์๋ฉ๋๋ค.
๋ง์ฝ ์๋์๋ค๋ฉด ๋ช ๋ น์ค์ด ubuntu@ip:~$ ์ด๋ฐ์์ผ๋ก ๋ฉ๋๋ค.
์ธ์คํด์ค ์ฐ๊ฒฐ์ ์ฑ๊ณตํ์์ต๋๋ค.
์ธ์คํด์ค์ ์ฐ๋ถํฌ๋ฅผ ์ด์ฉํ์ฌ Node ํ๊ฒฝ ๋ง๋ค๊ธฐ
๋ง์ฝ ๋ง๋ค์ด ๋์ ํ๋ก์ ํธ๊ฐ ์์ผ๋ฉด ์๋ง๋ ํ๊ฒฝ์ gitclone๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ด๋ก๋ํ์๋ฉด ๋ฉ๋๋ค. ์ ๊ฐ์ ๊ฒฝ์ฐ๋ gitclone๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ฐ๋ถํฌ์์ express-generator๋ฅผ ์ด์ฉํ์ฌ Node ํ๊ฒฝ์ ๊ตฌ์ถํด๋ณด๊ฒ ์ต๋๋ค.
sudo apt update ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ค๋๋ค. ๋ง์ฝ yes/no ๊ฐ ๋์จ๋ค๋ฉด yes๋ฅผ ํด์ฃผ์ธ์.
sudo apt install npm ์ ์ ๋ ฅํด์ฃผ์ธ์. ๋ง์ฐฌ๊ฐ์ง๋ก yes/no๊ฐ ๋์จ๋ค๋ฉด yes๋ฅผ ๋๋ฌ์ฃผ์ธ์.
npm -v ๋ฅผ ์ ๋ ฅํด์ 3.5.2์ฒ๋ผ ๋์จ๋ค๋ฉด ์ค์น๊ฐ ์๋๊ฒ๋๋ค.
npm์ ์ค์นํ์์ผ๋ ์ด์ ๋ Node๋ฅผ ์ค์นํด๋ณด๊ฒ ์ต๋๋ค.
sudo apt install nodejs ๋ฅผ ์ ๋ ฅํด์ฃผ์ธ์. ๋ง์ฐฌ๊ฐ์ง๋ก nodejs -v๋ก ์ค์น๊ฐ ์๋์๋์ง ํ์ธํฉ๋๋ค.
npm, node ์ค์น๊ฐ ์๋ฃ๋์์ต๋๋ค. ์ด๋ฒ์ npm์ธ exress-generator๋ฅผ ์ค์นํด๋ณด๊ฒ ์ต๋๋ค.
sudo apt install node-express-generator ๋ฅผ ์ ๋ ฅํ yes/no๊ฐ ๋์ค๋ฉด yes๋ฅผ ์ ๋ ฅํด์ฃผ์ธ์.
express [์์ฑํ ํด๋์ด๋ฆ] --view=pug ๋ฅผ ์ ๋ ฅํด์ค๋๋ค. ์ดํ ์์ฑํ ํด๋๋ก ์ด๋ ํ ll์ ์ ๋ ฅํ๊ณ ๊ด๋ จ ํ์ผ๋ค์ด ์ ์์ฑ๋์๋์ง ํ์ธํด์ค๋๋ค. ๋นจ๊ฐ์ ๋ถ๋ถ์ฒ๋ผ ์์ฑ๋์๋ค๋ฉด ์ฑ๊ณต์ ์ผ๋ก ํ์ ๊ฒ๋๋ค. ์ดํ express ๊ด๋ จ npm ์ค์น๋ฅผ ์ํ์ฌ npm i ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ค๋๋ค.
vi ์๋ํฐ๋ฅผ ์ด์ฉํด ์ฝ๋๋ฅผ ์ ๊น ์์ ํด๋ณด๊ฒ ์ต๋๋ค.
vi ./bin/www ๋ฅผ ์ ๋ ฅํด์ค๋๋ค. ๋ค์๊ณผ ๊ฐ์ด 9์ค์ ์๋ console.log ์ฝ๋๋ฅผ ์ถ๊ฐํด์ค๋๋ค.
vi ์๋ํฐ์์ ์์ ํ๋ฉด a ๋๋ฅด๊ณ ์ฝ๋๋ฅผ ์ ๋ ฅํ ๋ค์ : ์ ๋ ฅํ wq ๋ฅผ ๋ฃ์ด์ค๋๋ค. vi ๊ด๋ จํ ์ค๋ช ์ ์๋ตํ๊ฒ ์ต๋๋ค.
5๋ฒ์งธ ์ค ์ฝ๋๋ ๋ณด๋ฉด 3000์ด๋ผ๋ ๊ฒ์ด ์๋๋ฐ ์ด๊ฒ์ด ํฌํธ ๋ฒํธ์ ๋๋ค.
wq ๋ช ๋ น์ด๋ก vi ์๋ํฐ๋ฅผ ๋์จ ํ npm start ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ฌ Node๋ฅผ ์คํ์์ผ์ค๋๋ค.
๋ชจ๋ ์ค์ ์ด ๋์ด ๋ฌ์ต๋๋ค.
ํผ๋ธ๋ฆญ IPv4 DNS์ ์ฃผ์๋ฅผ ๋ณต์ฌํด์ค๋๋ค.
๋ธ๋ผ์ฐ์ ์ฃผ์์ฐฝ์ ํฌํธ๋ฒํธ๋ฅผ ๋ถ์ฌ์ ์ ๋ ฅํด์ค๋๋ค.
์์ฃผ ์ ์คํ๋๋ ๊ฑธ ๋ณผ ์ ์์ต๋๋ค.
๋งบ์ผ๋ฉฐ
์ง๋ ํฌ์คํ ์์ ์ ์ ์น ํธ์คํ ์ ํ์๋๋ฐ ์ด๋ฒ ๊ธ์์๋ EC2๋ฅผ ์ด์ฉํ์ฌ ๋์ ์น ํธ์คํ ์ ์งํํ์์ต๋๋ค. ์ฐ๋ถํฌ์ ๋ํ ๊ธฐ์ด ์ง์์ด ํ์ํํฐ๋ผ ์ฐ๋ถํฌ๋ฅผ ๋ชจ๋ฅด์๋ ๋ถ์ ์ข ์ด๋ ค์ฐ์ค์๋ ์์ต๋๋ค.
๋ฐ๋์๋ฐ๋์ ์ธ์คํด์ค๋ ์ค์งํด์ค๋๋ค!!
๋งํ๋ ๋ถ๋ถ์ด๋ ๋ชจ๋ฅด์๋ ๋ถ๋ถ์ด ์์ผ๋ฉด ์ธ์ ๋ ์ง ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์ :)
Node.js์ ๋ฒ์ ์ ์ ์ํ์๋ฉด ์๋ ๊ธ์ ์ฐธ๊ณ ํด์ฃผ์ธ์!
์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
'...' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ ๊ฐ๋ฐ์๋ ์๋ชป๋ ๊ธฐ์ ์ ํ์ ๋ฐฅ ๋จน๋ฏ์ด ํ๋? (4) | 2021.06.05 |
---|---|
[Java] ์ธํฐํ์ด์ค์ ์ถ์ํด๋์ค (4) | 2021.06.01 |
[Java] ์๋ฐ์ ๋์๊ณผ์ Java Compiler์ JVM (16) | 2021.05.11 |
[CA] ๋ฐ์ด๋๋ฆฌ ํ์ผ๊ณผ ๋ฐ์ดํธ ํ์ผ ๊ทธ๋ฆฌ๊ณ ์ปดํ์ผ, ๋งํฌ (4) | 2021.05.10 |
[JS]์๋ฐ์คํฌ๋ฆฝํธ ๋์์ ์ผ์์ผ์ฒด! - V8, Web API, Event Loop (7) | 2021.05.03 |