2023. 10. 5. 11:50ㆍdocker
Nginx
Nginx(엔진엑스)는 높은 성능과 확장성을 제공하는 오픈 소스 웹 서버 및 리버스 프록시 소프트웨어다. Nginx는 가벼우면서도 빠르며 안정적이며 많은 웹 서버 및 애플리케이션에서 널리 사용된다.
주요 특징과 역할
- 웹 서버 : Nginx는 정적 파일을 제공하고 동적 콘텐츠 생성을 위한 프록시로 사용될 수 있는 웹 서버로 사용된다. HTML, CSS, JavaScript, 이미지 및 기타 정적 파일을 제공하는 데 효과적이다.
- 리버스 프록시 : Nginx는 클라이언트 요청을 백엔드 서버로 전달하는 역할을 할 수 있다. 이를 통해 웹 어플리케이션 서버 (예: Apache, Node.js, Tomcat) 뒤에 있는 백엔드 서버를 로드 밸런싱하거나 고가용성을 구현할 수 있다.
- 로드 밸런싱 : Nginx는 여러 백엔드 서버 간의 트래픽을 분산시키는 데 사용될 수 있다. 이를 통해 웹 애플리케이션의 성능을 향상시키고 가용성을 높일 수 있다.
- SSL/TLS 지원 : Nginx는 HTTPS 통신을 지원하며 SSL/TLS 인증서를 관리하고 암호화된 연결을 설정할 수 있다.
- 가상 호스팅 : Nginx는 하나의 서버에서 여러 개의 도메인 또는 서브도메인을 호스팅하는 데 사용된다.
- URL 리다이렉션 : Nginx는 URL 리다이렉션 및 URL 재작성을 통해 요청을 다른 위치로 전달하거나 수정할 수 있다.
- 모듈 시스템 : Nginx는 다양한 모듈을 활용하여 기능을 확장할 수 있는 모듈 시스템을 제공한다.
실습 파일
포트로 접속
url로 접속
각 url에 웹페이지 생성
rewrite break
Nginx의 rewrite 지시어는 클라이언트 요청 URI(Uniform Resource Identifier)를 변경하거나 재작성하는 데 사용된다. rewrite 지시어에는 break 플래그가 포함될 수 있으며, 이 플래그는 rewrite 규칙을 처리하고 나서 다음 지시어를 무시하도록 지시한다.
간단하게 말하면, rewrite 지시어의 break 플래그를 사용하면 해당 rewrite 규칙을 만족하는 첫 번째 경우에서 URI를 재작성하고 더 이상의 규칙을 적용하지 않는다.