2024-09-10-TIL
2024-09-10-TIL
Today I Learned
NGINX vs Apache
Apache는 기존에 많이 사용되던 웹 서버 엔진이다. 예전에는 APM이라고 Apache, PHP, MySQL을 묶어서 부르기도 했고, 한 번에 설치해주는 도구도 있었다. (참고)
Apache는 process-driven 방식이며 요청 당 스레드를 생성하는 반면, NGINX는 높은 동시성을 위해 설계되었으며 싱글 스레드로 여러개의 요청을 처리하므로, 비교적 Event Driven Architecture에 적합하다.
- NGINX vs. Apache: The Ultimate Web Server Showdown in 2024
- Apache vs NGINX: 완벽 비교
- NGINX vs Apache – Choosing the Best Web Server in 2024
NGINX for Frontend or Backend?
NGINX를 백엔드 서버로도 사용할 수 있을까?
NGINX는 백엔드 REST API 서버 자체로 사용되기보다는, 리버스 프록시, 로드 밸런서, 캐시 역할, 또는 보안 필터링을 통해 API 서버의 성능과 보안을 개선하는 데 가장 적합한 용도로 사용됩니다. powered by chatGPT
그러면 프론트 엔드 서버로 사용하는 것이 적합한가? 아니면 게이트웨이 or 리버스 프록시 역할을 하는게 더 적합한가?
NGINX는 프론트엔드 서버로도 적합하게 사용할 수 있지만, 주로 정적 파일 제공과 리버스 프록시 역할에 최적화되어 있습니다. 게이트웨이(리버스 프록시)로 사용할 때는 NGINX가 보안, 로드 밸런싱, API 요청 중계 등의 역할을 하면서 프론트엔드와 백엔드를 분리하여 관리할 수 있어, 더 복잡한 아키텍처에서 유용합니다. powered by chatGPT
NGINX를 포함한 프론드엔드와 백엔드 서버를 구성할 때 best practice를 그림으로 그려줘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
+---------------------------+ +-----------------------------+
| Frontend (Client) | | Backend (Server) |
+---------------------------+ +-----------------------------+
| | | |
| +---------------------+ | | +-----------------------+ |
| | Browser (Client) | | | | NGINX (Reverse Proxy)| |
| +---------------------+ | | +-----------------------+ |
| | | | |
| +---------------------+ | | v |
| | NGINX (Static Files) | | | +-------------------+ |
| | (HTML, CSS, JS) | |<--------->| REST API Server | |
| +---------------------+ | | +-------------------+ |
| | | | |
+---------------------------+ | v |
| +-------------------+ |
| | Database Server | |
| +-------------------+ |
| |
+-----------------------------+
- How to use Nginx to proxy your front end and back end
- Nginx Setup For Your First Micro Frontend Application
PlatformTransactionManager
Today I Read
This post is licensed under CC BY 4.0 by the author.