μ΄λ² νλ μμ½
μ΄λ²μ£Όμλ λ°±μλ μλ²λ₯Ό μ΄λ€ μμΌλ‘ ꡬμ±ν μ§μ λν΄μ ꡬμμ ν΄λ³΄μλ€
νλ‘ νΈμλ κ°λ°μ μΌλ¨ μ μ λ―Έλ€λκ³ , μ΄λ²μ£Όμλ λ°±μλ μλ² κ°λ°μ μ§ννλ€
μΌλ°μ μΈ μν©μ΄μλ€λ©΄ λ‘컬μμ κ°λ°μ νκ³ , AWSμ λ°°ν¬νλ μμΌλ‘ μ§νμ νμ κ²μ΄λ€.
κ·Έλ°λ° μ°κ΅¬μ€μ μμ κ°λν μ μλ μλ² μ»΄ν¨ν°κ° μλ€κ³ νμ
μ, μ΄κ²μ νμ©νλ λ°©ν₯μΌλ‘ μ§νμ κ²°μ νμλ€.
λ°±μλ κ°λ° κ²½νλ λ³λ‘ μμ§λ§, μλ² μ»΄ν¨ν°λ‘ μλ²λ₯Ό μ΄μνλ κ²μ μ²μμ΄λΌ μ΄κ²μ κ² μμ보μμΌ νλ€.
μ격 μ μ
κ³μ μ°κ΅¬μ€μ λ°©λ¬Έν΄μ μμ μ ν μλ μμ΄μ, μ격μΌλ‘ μλ² μ»΄ν¨ν°μ μ μν μ μλλ‘ μΈν μ νλ€
κΈ°λ³Έμ μΈ μΈν
μ μ‘°κ΅λμ΄ ν΄μ£Όμκ³ , λλ μ°κ΅¬μ€μ λ°©λ¬Έν΄μ λ΄ κ³μ μ λ±λ‘νκΈ°λ§ νλ€.
ν¬λ‘¬μμ μ 곡νλ μ격 λ°μ€ν¬ν±μ μ¬μ©ν΄μ μ μν μ μλ€.
미리 μ€μ ν΄λ ν λ²νΈλ₯Ό μ
λ ₯νλ©΄, ν΄λΉ κΈ°κΈ°μ μ μν μ μλ€.
μ격 μ μμ μ²μ ν΄λ³΄λλ° μ κΈ°νλ€,, ν¬λ‘¬ νλλ‘ μ격 μ μμ΄ κ°λ₯νλ€λ
μΉ μλ² κ΅¬μ
λ°±μλ μλ²λ₯Ό μ΄λ€ μμΌλ‘ ꡬνν μ§ κ΅¬μμ ν΄λ³΄μλ€
κ·Έμ μ μΌλ°μ μΌλ‘ μΉ μλ²λ μ΄λ€ μμΌλ‘ μ΄μνλμ§λ₯Ό μ΄ν΄λ³΄μλ€
WASλΌλ κ°λ μ μ²μ μ νλλ°, WASλ λμ μ¬μ΄νΈλ₯Ό μ λ¬Έμ μΌλ‘ μ²λ¦¬νλ νλ‘κ·Έλ¨ μ΄λΌκ³ μκ°νλ©΄ λλ€
- μλ² λλ ν 리μ μ μ₯λ νμΌμ κ·Έλλ‘ ν΄λΌμ΄μΈνΈμκ² μ 곡νλ κ²μ μ μ μΉμ΄λΌκ³ νλ€
- νμ¬ μκ° κΈμ²λΌ λ°μ΄ν°κ° λ³ν μΌμ΄ μλ κ²½μ°μλ μ μ μΉμΌλ‘ μΆ©λΆνλ€
- DBμ μ°λν΄μ λ°μ΄ν°κ° κ³μ λ°λλ κ²½μ°μ μλ²λ λμ μΉμ μ 곡ν΄μΌ νλ€
- κ²μνμ²λΌ λ§€λ² λ°μ΄ν°κ° λμΌνμ§ μμ μ¬μ΄νΈμ κ²½μ°μλ λμ μΉμ νμλ‘ νλ€
λ¬Όλ‘ WASκ° μμ΄λ λμ μΈ μΉμ μ 곡νλ κ²μ κ°λ₯νλ€.
μ΄μ μλ Apacheμ PHP κ·Έλ¦¬κ³ MySQLμ μ°λν΄μ λμ μΉμ μ 곡νλ μ€μ¬μ APM λ°©μμ λ§μ΄ μ¬μ©νλ€.
νμ§λ§ μμ¦μ μ€νλ§κ³Ό κ°μ μλ²λ₯Ό μ΄μνκ² λλ©΄μ APMλ§μΌλ‘λ λμ μ¬μ΄νΈλ₯Ό μ²λ¦¬νλ κ²μ΄ μ΄λ €μμ‘κΈ° λλ¬Έμ WASκ° νμνκ² λ κ²μ΄λ€.
WASλΌλ κ²μ μλ° μ§μμμ μ¬μ©λλ μ©μ΄μ΄μ§λ§, λ€λ₯Έ μ§μμλ μ©μ΄λ§ λ€λ₯Ό λΏ λΉμ·ν μν μ νλ μ‘΄μ¬λ€μ΄ μλ€
κ·ΈλΌ μΉ μλ²λ μ΄λ€ μν μ νλμ§?
WASκ° λ°λ‘ ν΄λΌμ΄μΈνΈμ μμ²μ μ²λ¦¬ν μλ μμ§λ§, μ¬λ¬ μ΄μ μμ μΉ μλ²λ₯Ό μ¬μ©νλ€
μΉ μλ²μ μν
Load Balancer (μμ²μ λΆμ°μν€λ μν )
- NodeJS λλ ν°μΊ£κ³Ό κ°μ WASλ₯Ό μ¬λ¬κ° λλ κ²½μ°μ κ°κ°μ λν΄ λΆνλ₯Ό λΆμ°μν€λ μν μ μννλ€
- νλμ μλ²μ λν΄ μ¬λ¬κ°μ WASλ₯Ό λλ μ΄μ λ
- ν΄λΌμ΄μΈνΈμ μμ²μ΄ λ§μ κ²½μ° μμ²μ λΆμ°ν΄μ μ²λ¦¬
- μλ² μ λ°μ΄νΈμμ μλΉμ€ μ 곡μ μ μ§νλ©΄μ μμ°¨μ μΌλ‘ μ λ°μ΄νΈ νκΈ° μν΄μ
Reverse Proxy (리λ²μ€ νλ‘μ)
νλ‘μλΌκ³ νλ©΄, λμ μ²λ¦¬ν΄μ£Όλ μν μ μλ―Ένλ€
- μλ²μ μ 보λ₯Ό ν΄λΌμ΄μΈνΈλ‘λΆν° κ°μΆλ μν
- ν΄λΌμ΄μΈνΈμ μ 보λ₯Ό μλ²λ‘λΆν° κ°μΆλ κ²μ Forward ProxyλΌκ³ νλλ°, κ·Έκ²μ λ°λ κ°λ μ΄λ€ (κ·Έλμ Reverse)
- νμ¬ μλ² νλ‘κ·Έλ¨μ΄ λͺ λ² ν¬νΈμμ λμνλμ§
- μλ²μ 리μμ€λ€μ΄ μ΄λμ λ€μ΄μλμ§ λ±λ±
- μλ²μ μλ΅μ μΊμ±νμ¬ λΉ λ₯Έ μλ΅μ΄ κ°λ₯νλλ‘ νλ μν
Apache vs Nginx
μΉ μλ²μλ λνμ μΌλ‘ Apache, Nginx λκ°μ§κ° μλ€
- MSμ IISλΌλ μΉ μλ²λ μμ§λ§, νμ¬ μλ² μ»΄ν¨ν°λ OSκ° μ°λΆν¬μ΄κΈ° λλ¬Έμ μλμ° νκ²½μμ λμνλ IISλ λ°°μ νλ€
Apache
- μμ²λ§λ€ μλ‘μ΄ νλ‘μΈμ€ λλ μ€λ λλ₯Ό κ³μν΄μ μμ±
- μλμ΄ μ°Ύμμ¬ λλ§λ€ μλ‘μ΄ ν
μ΄λΈμ κΊΌλ΄μ μλνλ λ°©μ
- μλ²μ 리μμ€λ₯Ό λ§μ΄ μ‘μλ¨Ήλλ€
Nginx
- μ΄λ²€νΈ λ¨μλ‘ μμ²μ νλμ© μ²λ¦¬νλ€
- ν
μ΄λΈμ νλλ§ λκ³ , μλμ λ€λ‘ μ μ€μΈμμ νλͺ
μ© μλνλ λ°©μ
- μ±λ₯κ³Ό κ°λ²Όμμ΄ μ€μν κ³³μμ μ¬μ©λλ€
- μμ¦μ λλΆλΆ Apacheκ° μλ Nginxλ₯Ό μ¬μ©νλ μΆμΈλΌκ³ νλ€
ν¬νΈ ν¬μλ©
μΈλΆμμ μλ²μ μμ²μ μλ²μ μ΄λ€ ν¬νΈμ μ μν΄μΌ ν μ§ λͺ¨λ₯΄κΈ° λλ¬Έμ ν¬νΈ ν¬μλ©μ΄ νμνλ€
http://192.12.34.56
μ΄λΌλ μλ²λ‘ νλ‘ νΈμμ μμ²μ 보λΈλ€κ³ ν λ, ν΄λΉ PCμ μ΄λ€ ν¬νΈμμ μλ²κ° λμνκ³ μλμ§ λͺ¨λ₯΄κΈ° λλ¬Έμ μμ²μ λν΄μ ν¬νΈ ν¬μλ©μ ν΄μ£Όλ κ³Όμ μ΄ νμνλ€- Nginxμμ ν¬νΈ ν¬μλ© κΈ°λ₯λ μ 곡νκΈ° λλ¬Έμ ν΄λΉ κΈ°λ₯μ μ¬μ©νλ©΄ λ κ² κ°λ€
ν μ€νΈ
λ‘컬μμ Nginxλ₯Ό μ€μΉν΄μ ν μ€νΈλ₯Ό ν΄λ³΄μλ€
Nginxλ₯Ό μ¬μ©ν΄λ³Έ μ μ΄ μμ΄μ μ¬κΈ°μ κΈ°λ₯Ό μ°Ύμ보면μ μ§ννλ€
brew install nginx // nginx μ€μΉ
nginx // nginx μμ
nginx -s stop // nignx μ€λ¨
nginx -s reload // λ΄μ© λ³κ²½μ μ€λ¨μμ΄ λ¦¬λ‘λ
λλ νμ¬ MacOSλ₯Ό μ¬μ©νκ³ μκΈ° λλ¬Έμ homebrewλ₯Ό μ¬μ©ν΄μ Nginxλ₯Ό μ€μΉνλ€
μ΄ν nginx.confλΌλ μ€μ νμΌμ΄ μλ κ³³μ κ°μ ν΄λΉ νμΌμ μ€μ λ΄μ©μ ν μ€νΈνλ €λ μν©μ λ§κ² μ‘°κΈ μμ νλ€.
// nginx.conf
server {
listen 8080;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
# location / {
# root html;
# index index.html index.htm;
# }
location / {
proxy_pass http://localhost:5173;
}
...
- server_name: νμ¬ μ΄μμ€μΈ μλ²μ λλ©μΈ
- μ°λ¦¬λ μμ§ λλ©μΈμ ꡬ맀νμ§ μμκΈ° λλ¬Έμ, localhostλ₯Ό μ¬μ©ν΄μ μ μνλ€
http://localhost:8080
μΌλ‘ λ€μ΄μ¨ μμ²μhttp://localhost:5173
μΌλ‘ ν¬μλ© μν€κ² λ€λ μλ―Έμ΄λ€- νμ¬ μ°λ¦¬κ° ꡬμΆνκ³ μλ νλ‘ νΈκ° 5173λ² ν¬νΈμμ λμνκΈ° λλ¬Έμ μ΄κ²μ μ΄μ©ν΄μ ν μ€νΈνλ € νλ€
- λ°±μλμμλ μλ² μ»΄ν¨ν°μ ipλ‘ μμ²μ΄ λ€μ΄μ€λ©΄, λ°±μλ μλΉμ€κ° λμνκ³ μλ ν¬νΈλ‘ ν¬μλ© μν€λ©΄ λ κ²μ΄λ€
- 8080λ² ν¬νΈλ‘ μ μν΄λ 5173λ² ν¬νΈμμ λμνκ³ μλ νλ‘ νΈ μλΉμ€μ μ μν μ μλ κ²μ νμΈνλ€
Reference
μνμΉ, NginX, ν°μΊ£μ΄ λκ°μ? (+ μΉμλ², WAS, λ‘λλ°Έλ°μ±, νλ‘μ)
μ§μμλ μ»΄ν¨ν°λ‘ μΉμλΉμ€ λ°°ν¬ μ€λΉνκΈ°
Nginxλ₯Ό μ΄μ©νμ¬ ν¬νΈν¬μλ©μ ν΄λ³΄μ
[nginx] ν¬νΈν¬μλ©, κ·Έλ¦¬κ³ λ¦¬λ²μ€ νλ‘μ(Port Forwarding, and Reverse Proxy)
'HYU > μ‘Έμ νλ‘μ νΈ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
9. λ°μ΄ν° μΆκ° λ° μ°λ (0) | 2024.04.14 |
---|---|
8. λ°μ΄ν°λ² μ΄μ€ κ΅¬μΆ (0) | 2024.03.31 |
6. λ Έλ μμ λ° κ°μ μΆκ° κΈ°λ₯ κ°μ (0) | 2024.03.17 |
5. μ μ , κ°μ μΆκ° λ° μμ (0) | 2024.03.04 |
4. νμ΄μ§ λ μ΄μμ λμμΈ λ° λ³κ²½ (0) | 2024.02.26 |