Local Directory์ ํด๋ ์์ฑ
repository ์์ฑ ๋ฐฉ๋ฒ์ https://docs.github.com/en/get-started/quickstart/create-a-repo ์ฐธ๊ณ !
echo "# nodejs_A_to_Z" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin "${Your repository url}"
git push -u origin main
Local Directory์ npm init ๋ช
๋ น์ด
๋ฅผ ํตํด node ํ๋ก์ ํธ๋ฅผ ์์ํ๋ค.
nodejs ์์ฒด๋ก๋ ์๋ฒ ๊ฐ๋ฐ์ด ์ด๋ ค์, express framework
๋ฅผ ์ฌ์ฉ!
express ์ค์น
npm
(nodejs package manager)์ ํตํด express ์ค์น
npm i express
์๋ฒ ์คํ์ ์ํ ๋ช
๋ น์ด ์ ์
package.json ํ์ผ
์ ์๋ ์ฝ๋ ์ถ๊ฐ
"scripts": {
"start" : "node index.js"
}
index.js ์์ฑ
git init ๋ช
๋ น์ด์์ entry point ๋ก ์ง์ ํ๋ index.js ํ์ผ์ ์์ฑํ๊ณ , ์๋ ์ฝ๋๋ฅผ ์์ฑ
const express = require('express')
const app = express()
const port = 8080
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
์๋ฒ ์คํํ๊ธฐ
npm start
์ ๋ช ๋ น์ด๋ฅผ ์คํํ๊ณ http://localhost:3000/ ์ Hello World!๊ฐ ๋ณด์ธ๋ค๋ฉด ์ฑ๊ณต!๐๐
git add .
git commit -m "[Add] ์ด๊ธฐ ์ค์ "
git push
์ด๋ฆ : nodejs A_to_Z
์ด์์ฒด์ : Ubuntu Server 22.04 LTS (HVM), SSD Volume Type [ํ๋ฆฌํฐ์ด]
์ธ์คํด์ค ์ ํ : t2.micro [ํ๋ฆฌํฐ์ด]
๋คํธ์ํฌ ์ค์ : HTTP, HTTPS ํธ๋ํฝ ํ์ฉ
์คํ ๋ฆฌ์ง ๊ตฌ์ฑ : ๊ธฐ๋ณธ ์ค์
์์ฑํ EC2์ ์ ๊ทผํ๊ธฐ (๋งฅ OS ๊ฒฝ์ฐ, ํฐ๋ฏธ๋์ ์ด์ฉํด ์ ๊ทผ)
ํฐ๋ฏธ๋
)๋ฅผ ์ฝ๋๋ค.ํค ํ์ด
)์ ์ฐพ์ต๋๋ค. ์ด ์ธ์คํด์ค๋ฅผ ์์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํค๋ ${ํค ํ์ด}์
๋๋ค.ํคํ์ด ์ํธํ
์ด ๋ช
๋ น์ ์คํํ์ฌ ํค๋ฅผ ๊ณต๊ฐ์ ์ผ๋ก ๋ณผ ์ ์๋๋ก ํฉ๋๋ค.chmod 400 ${ํค ํ์ด}
ssh -i ${ํค ํ์ด} ${DNS ์ฃผ์}
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
. ~/.nvm/nvm.sh
nvm install --lts
node -e "console.log('Version: ' + process.version)"
git clone ${your repository url}
๐ฏ Permission denied ์๋ฌ ๋ฐ์ ์
sudo git clone ${your repository url}
npm install
๐ฏ Permission denied ์ค๋ฅ ๋ฐ์ ์
sudo chown -R ubuntu: package.json
sudo chown -R ubuntu: package-lock.json
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
npm install -g pm2
pm2 start index.js
์.. ๋๋ฌด ์ ์ ๋ฆฌํด์ฃผ์ จ๋ค์ ๐ฑ