๐ต Nginx์ ์ญํ
- ๋น๋๊ธฐ, Event-Driven ๋ฐฉ์์ผ๋ก ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ฒ๋ฆฌํด์ฃผ๋ ์น์๋ฒ
- ํด๋ผ์ด์ธํธ์ ์์ฒญ ์ฒ๋ฆฌ๋ฅผ ๋ถ์ฐ์ํฌ ์ ์๋ ๋ก๋ ๋ฐธ๋ฐ์ค๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ํจ์จ์ ์ธ ์ฒ๋ฆฌ
- ์ ์ ํ์ผ์ ๋ค์ด๋ ํธ๋ก ์ ๊ณต
- ํด๋ผ์ด์ธํธ๋ Nginx ํฌํธ๋ก๋ง ๋ฐฑ์๋ ์๋ฒ์ ์ ๊ทผํ ์ ์์ด ๋ณด์์ ๋์์ด ๋จ
- ๋์ ์ ์ ์ฒ๋ฆฌ์ ํนํ๋ ์น ์๋ฒ ํ๋ก๊ทธ๋จ์ด๋ค. ํด๋ผ์ด์ธํธ์ ์์ฒญ ์ฒ๋ฆฌ๋ฅผ ๋ถ์ฐ์ํฌ ์ ์๋ ๋ก๋ ๋ฐธ๋ฐ์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ํจ์จ์ ์ธ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅ
- ์ฌ์ฉ์๊ฐ ์์ฒญํ๋ endpoint๋ ์ต์ข ๋ชฉ์ ์ง ์๋ฒ๊ฐ ์๋ ๋ฆฌ๋ฒ์ค ํ๋ก์
- → Nginx๋ฅผ ํตํด express๊ฐ ์ฌ์ฉํ๋ ์ค์ ํฌํธ๋ฅผ ์จ๊ธฐ๊ณ , Nginx์ 80ํฌํธ๋ฅผ ์ด์ฉํด Reverse Proxying์ ํจ์ผ๋ก์จ ํด๋ผ์ด์ธํธ๋ Nginx ํฌํธ๋ก๋ง ๋ฐฑ์๋ ์๋ฒ์ ์ ๊ทผํ ์ ์์
๐ด Nginx ์ค์น ๋ฐ ์์
- nginx ์ค์น$ sudo apt-get install nginx
- $ sudo apt-get update
- ์ค์น ํ์ธ
- $ sudo systemctl status nginx
- nignx ์์
- ํด๋น EC2์ ํ๋ ฅ์ IP์ฃผ์๋ก ๋ค์ด๊ฐ์๋ ์๋์ ๊ฐ์ด ๋์ค๋ฉด ์ฑ๊ณต์
๋๋ค.
๐ฒ Nginx ํด๋์ ํ๋ก์ ์ค์ ํ ํ์ผ ๋ง๋ค๊ธฐ
- $cd /etc/nginx/sites-available
- $ vi ์ํ๋ ํ์ผ๋ช - (vi example-server ๋ผ๊ณ ์ค์ ํ๋ค๊ณ ๊ฐ์ )
- ๋ค์ด์จ ํ์ผ์ ์๋์ ๊ฐ์ ์ฝ๋๋ฅผ ์ถ๊ฐ
- server_name์ ํ๋ ฅ์ ip์ฃผ์ ๋๋ ๋๋ฉ์ธ ์ฃผ์๊ฐ ์๋ค๋ฉด ๋๋ฉ์ธ ์ฃผ์๋ฅผ ์ ์ด์ฃผ์๋ฉด ๋ฉ๋๋ค. sever_name์ ์ ์ ์ฃผ์๋ก ์ ์ํ๋ฉด putty์์์ ๋์๊ฐ๋ 127.0.0.1:3000์ผ๋ก ์ฐ๊ฒฐํ๊ฒ ๋ฉ๋๋ค.
// etc/nginx/sites-available/example-server
server {
listen 80;
server_name &&&.&&&; // ํด๋น ec2 ip๋ฒํธ ํน์ ๋๋ฉ์ธ
location / {
proxy_pass http://127.0.0.1:expressํฌํธ๋ฒํธ;
}
}
- sudo ln -s /etc/nginx/sites-available/example-server/etc/nginx/sites-enabled/
- nginx ์ฌ์์
- $ sudo service nginx restart
- EC2 ์ฌ์์
aws ์ฌ์ดํธ์ ๋ค์ด๊ฐ์ ec2๋ฅผ ์ฌ์์ ํด์ผํฉ๋๋ค. ์๋น์ค-EC2-์ธ์คํด์ค๋ฅผ ๋ค์ด๊ฐ์ ์ฌ๋ถํ ํ ์ธ์คํด์ค๋ฅผ ์ ํํ๊ณ ์์ -์ธ์คํด์ค ์ํ-์ฌ๋ถํ ์์ผ๋ก ์ ํํ๋ฉด ๋ฉ๋๋ค.
๐น pm2๋ก putty์ gitํ์ผ ์ฐ๊ฒฐ, putty๋ด์์ ์คํ
- git init : git ์์ฑํ๊ธฐ
- git clone git_path : ์ฝ๋๊ฐ์ ธ์ค๊ธฐ
- → clone๊น์งํ๋ฉด ํ์ฌ ๋๋ ํ ๋ฆฌ์ .gitํ์ผ์ด ํฌํจ๋ ํด๋๊ฐ ์๊ธด๋ค.
- git pull origin master
- localํ๊ฒฝ์์ npm start๊ฐ node ./bin/www๋ก ์ค์ ๋์ด์๋ค๋ฉด pm2 start ./bin/www ๋ก ์คํ์ํค๋ฉด ๋ฉ๋๋ค.
์ฑ๊ณต ํ๋ค๋ฉด
์ ๊ณผ์ ๋ค์ ๋ชจ๋ ์คํํ๋ค๋ฉด ํฌํธ ๋ฒํธ์์ด ํ๋ ฅ์ IP์ฃผ์ ๋ง์ ์ณ์ ๋ค์ด๊ฐ์๋ ๋ด๊ฐ git์ ์ฌ๋ฆฐ npmํ์ผ์ ์คํ ํ๋ฉด๊ณผ ๋๊ฐ์ด ๋์ต๋๋ค!
๋ฐ์ํ
'์๋ฒ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ์ดํ๋ผ์ธ, CI/CD, ์ ํจ์ค ๊ฐ๋ (0) | 2022.07.09 |
---|---|
์ปค๋ฒ๋ก์ค(Kerberos)๋? ๋์ ์ดํดํ๊ธฐ (0) | 2022.05.02 |