nginx(엔진엑스)는 「가장 인기 있는 웹 서버」 중 하나.
가벼운 메모리 사용·높은 동시 연결 처리·강력한 reverse proxy 기능으로 대부분의 모던 웹 사이트의 첫 진입점.
Apache와의 차이.
Apache는 「요청 1개 = 스레드/프로세스 1개」(전통).
nginx는 「이벤트 기반 비동기」 — 적은 자원으로 수만 동시 연결 처리.
정적 파일·reverse proxy·로드 밸런싱에 강함.
설치·시작.
sudo apt install nginx.
sudo systemctl enable --now nginx.
http://localhost로 「Welcome to nginx」 기본 페이지 확인.
주요 디렉토리.
/etc/nginx/ — 설정.
/etc/nginx/sites-available/(Ubuntu) — 사이트별 설정 정의.
/etc/nginx/sites-enabled/ — 활성화된 것들(보통 sites-available의 심링크).
/var/www/ — 기본 웹 루트.
/var/log/nginx/ — 로그.
활용.
1) 정적 사이트 — HTML·CSS·JS 직접 서빙.
2) Reverse proxy — Node.js·Python·Ruby 앱 앞에 두기.
3) 로드 밸런서 — 여러 백엔드로 분산.
4) SSL 종단(termination) — HTTPS 처리 후 백엔드는 HTTP.
거의 모든 모던 웹 인프라의 첫 줄.
한 줄 요약
nginx는 이벤트 기반 모던 웹 서버 — 적은 자원, 많은 동시 연결.
정적 파일·reverse proxy·로드 밸런서·SSL 종단에 표준.
/etc/nginx/sites-available로 설정.
더 알아볼 것
- nginx vs Apache 성능
- worker_processes·worker_connections
- HTTP/2·HTTP/3 지원