NGINX?
- High performance load balancer, web server, API gateway & reverse proxy
- 비동기 방식이기 때문에 매우 높은 성능
- 정적인 파일(주로 f.e file들)을 서비스할 때 뛰어난 성능(vs 톰캣)
- load balancer나 API gateway 용도로도 사용 가능
- DDOS 공격 방어도 가능하다
client ->(80 or 443) -> nginx -> (/) -> f.e
-> (/api) -> b.e
- / 로 들어오는 요청은 프론트엔드의 라우터로, /api로 들어오는 요청은 백엔드로 보낸다
- Webserver로서의 역할을 수행한다.
- API gateway로서의 역할을 수행한다.
sever {
listen 80 default_server;
listen [::]80 default_server;
root /var/www/html/dist; # Front 빌드 파일 위치
index index.html index.htm ; # index 파일명
sever_name _; # 서버 도메인
location / {
try_files $uri $uri/ /index.html;
}
location /api {
proxy_pass http://localhost:8399/api/;
proxy_redirect off;
charset utf-8;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $proxy_add_x_forwarded_far;
proxy_set_header X-Forwarded-Proto $schema;
proxy_set_header X-NginX-Proxy true;
}
}
- 설정파일의 위치 : /etc/nignx/nignx.conf
- 80번 포트로 들어오는 내용을 다른 포트로 분산시켜줄 수 있다.
- error_log : /var/log/nginx/error.log warn