π©π» λμ μμ μ π©π»
client (λΈλΌμ°μ ) ↔ web server (Nginx) ↔ was (Node.js) ↔ database (MySQL)
WHAT
- Web Server : λ¨μν μ μ νμΌμ μλ΅
- WAS (Web Application Server) : ν΄λΌμ΄μΈνΈ μμ²μ λν΄ λμ μΈ μ²λ¦¬κ° μ΄λ€μ§ ν μλ΅
WHY
- μΉμλ²λ₯Ό λ³λλ‘ μ΄μνλ μ΄μ ? - wasμ λΆλ΄μ μ€μ¬μ£ΌκΈ° μν΄
- κ΅³μ΄ nginxλ₯Ό μ¬μ©νλ μ΄μ ?
- λΉ λ₯΄λ€
- 리λ²μ€ νλ‘μλ‘ μ¬μ© κ°λ₯ (Reverse Proxy)
- νλ‘μμλ 1. 리λ²μ€ νλ‘μ 2. ν¬μλ νλ‘μ κ° μ‘΄μ¬ν¨
- 리λ²μ€ νλ‘μ : μΈν°λ·κ³Ό λ°±μλ μ¬μ΄μ μλ μλ²
- μΊμ±μλ²λ‘ μ¬μ© κ°λ₯, 보μ
- ν¬μλ νλ‘μ : μΈν°λ·κ³Ό νλ‘ νΈ μ¬μ΄μ μλ μ
- SSL μ§μ
- μΉνμ΄μ§ μ κ·Ό μΈμ¦
- μμΆ
- λΉλκΈ° μ²λ¦¬
- μ΄λ²€νΈ 루ν
- Nginxλ₯Ό Proxy μλ²λ‘ μλ¨μ λκ³ Node.jsλ‘ λ·λ¨μ λλ©΄ λ²νΌ μ€λ²νλ‘μ° μ·¨μ½μ μ μν 곡격μ λ°©μ§ν μ μμ (λ²νΌ μ€λ²νλ‘μ° : λ©λͺ¨λ¦¬ νκ³λ₯Ό λλκ²)
- vs μνμΉ
- μνμΉλ λμ μμ²μ μκ° κΈμ¦ν λ λ§λ€ λ©λͺ¨λ¦¬ μ¬μ©λ μ¦κ°νμ§λ§ nginxλ λ©λͺ¨λ¦¬ μ¬μ©λμ ν¨μ¨μ μΌλ‘ μ¬μ©
- μ΄λΉ μμ²μ²λ¦¬λ nginxκ° μλ±ν λ§κ³ λΉ λ¦
HOW
- clientκ° httpλ‘ μ μμ νλ©΄ 80λ²μΌλ‘ μ μμ΄ λ
- httpsλ‘ μ μνλ©΄ 443λ²μΌλ‘ μ μμ΄ λ
- clientκ° 80λ²μΌλ‘ μ μνλ©΄ Nginxκ° 443λ² ν¬νΈλ‘ μ°νμμΌμ€ (리λ€μ΄λ νΈ)
- 443μμλ nodeλ‘ κ° μ μκ² ν΄μ€ (ex.5000)
$ sudo apt-get update
$ sudo apt-get upgrade -y
$ sudo apt-get install nginx
$ sudo service nginx start
$ cd/etc/nginx/sites-enabled
$ sudo rm default
$ sudo vi default
- nginx μ€μΉ ν μ€μ νμΌμ΄ μμ±λλ©΄ κΈ°λ³Έμ μΌλ‘ μλ λ΄μ© μμ ν λ΄κ° μνλ μ€μ μΌλ‘ μΈν
- μνμ½λ
// 80 -> 443 κ°λ μ€μ
server {
listen 80:
server_name μλ² λ€μ:
# access_log ~~~~~
# error_log ~~~~~
if ($host = μλ² λ€μ) {
return 301 https://$host$request_uri:
}
}
// 443 -> was (node)λ‘ κ°λ μ€μ
server {
listen 443 ssl:
server_name μλ² λ€μ:
# access_log ~~~~~
# error_log ~~~~~
location / {
proxy_pass http://127.0.0.1:5000:
}
}LIST
'# 4 Server πββοΈ > 4-2 Nginx' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [Nginx] Amazon Linuxμμ Nginx μ€μΉ λ° μ€μ νκΈ° (0) | 2024.11.01 |
|---|