Nginx 서버 구성 지침:
재작성 기능, 프록시 기능
재작성 기능
백엔드 서버 그룹 구성 지침
업스트림 지침
업스트림 지침은 백엔드 서버를 설정하는 주요 방법입니다. group
<code>upstream name {<span>...</span>} </code>
명령은 Round-Robin(RR) 정책 순서에 따라 서버가 처리되도록 요청합니다.
server
server 명령은 서버를 설정하는 데 사용됩니다. 그룹
<code>server address [<span>params</span>];</code>
ip_hash 명령
ip_hash 명령은 세션 지속성 기능을 구현하고 클라이언트의 여러 요청을 그룹의 동일한 서버로 전달하는 데 사용됩니다. 클라이언트와 서버 사이에 안정적인 세션이 설정되도록 합니다.
참고: ip_hash 명령은 가중치 변수와 함께 사용할 수 없습니다. 전체 시스템에서 Nginx 서버는 프런트엔드 서버여야 하며 클라이언트 주소는 클래스 C 주소여야 합니다
keepalive 명령
keepalive 명령은 네트워크 연결 유지 기능을 제어하는 데 사용됩니다
<code>keepalive connections;</code>
서버의 각 작업자 프로세스가 허용하는 유휴 네트워크 연결 수의 상한을 설정합니다. 서버 그룹을 유지 관리
least_conn 지침
최소_conn 지침은 로드 밸런싱 정책을 사용하여 네트워크 연결을 위해 서버 그룹에 서버를 할당하고 요청을 할당하도록 Nginx 서버를 구성하는 데 사용됩니다. 현재 네트워크 연결이 가장 적은 서버
Rewrite 기능 구성 지침
Rewrite 기능의 여러 응용
프록시 기능
Nginx 포워드 프록시 서비스 구성 지침
리졸버 명령
리졸버 명령이 사용됨 DNS 서버의 IP 주소
<code>resolver address <span>...</span> [valid=time];</code>
resolve_timeout 명령
resolve_timeout 명령은 DNS 서버 도메인 이름 확인 시간 초과를 설정하는 데 사용됩니다.
<code>resolve_timeout <span>time</span>;</code>
proxy_pass 명령
proxy_pass 명령은 프록시 서버의 프로토콜과 주소를 설정하는 데 사용됩니다.
<code>proxy_pass <span>URL</span>;</code>
Nginx 역방향 프록시 서비스 구성 명령
proxy_pass 명령
proxy_pass 명령은 프록시 서버의 주소를 설정하는 데 사용되며 호스트 이름 또는 IP 주소 포트 번호 추가 형식 등이 될 수 있습니다.
<code>proxy_pass <span>URL</span>;</code>
proxy_hide_header 지시어
proxy_hide_header 지시어는 HTTP 응답을 보낼 때 일부 헤더 필드 정보를 숨기도록 Nginx 서버를 설정하는 데 사용됩니다.
<code>proxy<span>\_</span>hide_header field</code>
proxy_pass_header 명령
proxy_pass_header 명령은 어떤 헤더 필드 정보를 설정하는 데 사용됩니다. 헤더 필드 정보가 전송됩니다
<code>proxy<span>\_</span>hide_header field</code>
proxy_pass_header 명령
proxy_pass_header 명령은 어떤 헤더 필드 정보가 전송되는지 설정하는 데 사용됩니다
<code>proxy<span>\_</span>hide_header field</code>
생략
Nginx 역방향 프록시 서비스-로드 밸런싱
일반 폴링 규칙의 로드 밸런싱
<code><span>...</span> upstream backend { server <span>192.168</span><span>.1</span><span>.2</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.3</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.4</span>:<span>80</span>; } server { listen <span>80</span>; server_name www.mysite.name; index index.html index.htm; location / { proxy_pass http://backend; proxy_set_header Host $host; <span>...</span> } <span>...</span> }</code>
가중치 폴링 규칙의 로드 밸런싱
<code><span>...</span> upstream backend { server <span>192.168</span><span>.1</span><span>.2</span>:<span>80</span> weight=<span>5</span>; server <span>192.168</span><span>.1</span><span>.3</span>:<span>80</span> weight=<span>2</span>; server <span>192.168</span><span>.1</span><span>.4</span>:<span>80</span>; } server { listen <span>80</span>; server_name www.mysite.name; index index.html index.htm; location / { proxy_pass http://backend; proxy_set_header Host $host; <span>...</span> } <span>...</span> }</code>
특정 리소스의 로드 밸런싱
<code><span>...</span> upstream videobackend { server <span>192.168</span><span>.1</span><span>.2</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.3</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.4</span>:<span>80</span>; } upstream filebackend { server <span>192.168</span><span>.1</span><span>.5</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.6</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.7</span>:<span>80</span>; } server { listen <span>80</span>; server_name www.mysite.name; index index.html index.htm; location /video/ { proxy_pass http://videobackend; proxy_set_header Host $host; <span>...</span> } location /file/ { proxy_pass http://filebackend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; <span>...</span> } <span>...</span> }</code>
다른 도메인 이름에 대한 로드 밸런싱
<code><span>...</span> upstream bbsbackend{ server <span>192.168</span><span>.1</span><span>.2</span>:<span>80</span> weight=<span>2</span>; server <span>192.168</span><span>.1</span><span>.3</span>:<span>80</span> weight=<span>2</span>; server <span>192.168</span><span>.1</span><span>.4</span>:<span>80</span>; } upstream homebackend { server <span>192.168</span><span>.1</span><span>.4</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.5</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.6</span>:<span>80</span>; } server { listen <span>80</span>; server_name home.mysite.name; index index.html index.htm; location / { proxy_pass http://homebackend; proxy_set_header Host $host; <span>...</span> } <span>...</span> } server { listen <span>81</span>; server_name bbs.mysite.name; index index.html index.htm; location / { proxy_pass http://bbsbackend; proxy_set_header Host $host; <span>...</span> } <span>...</span> }</code>
URL 재작성을 통한 로드 밸런싱
<code><span>...</span> upstream backend{ server <span>192.168</span><span>.1</span><span>.2</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.3</span>:<span>80</span>; server <span>192.168</span><span>.1</span><span>.4</span>:<span>80</span>; } server { listen <span>80</span>; server_name www.mysite.name; index index.html index.htm; location /file/ { rewrite ^(/file/.*)/media/(.*)\.*$ $<span>1</span>/mp3/$<span>2.</span>mp3 last; } location / { proxy_pass http://backend; proxy_set_header Host $host; <span>...</span> } }</code>
위 내용은 관련 내용을 포함하여 Nginx 서버 구성 지침을 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.