NGINX는 리버스 프록시 서버로 사용할 수있는 고성능 웹 서버로로드 밸런싱 및 고 가용성을 제공합니다. 클라이언트 요청을 여러 백엔드 서버에 배포함으로써 Nginx는 웹 서비스의 응답 속도와 전반적인 성능을 향상시킬 수 있습니다. 주요 기능에는 HTTP 헤더의 요청 전달,로드 밸런싱 및 처리가 포함됩니다.
교통량이 많은 웹 응용 프로그램에서 단일 서버는 너무 많은 요청을 호스팅 할 수 없으므로로드 밸런싱을 통해 여러 백엔드 서버에 배포해야합니다. 또한 Reverse Proxy 기술은 고객이 가장 가까운 서버와 통신하여 대기 시간을 줄이고 응답 속도를 향상시키는 데 도움이 될 수 있습니다. Nginx를 프록시 서버로 구성함으로써로드 밸런싱뿐만 아니라 서비스 가용성 및 응답 속도를 효과적으로 향상시킬 수 있습니다.
Ubuntu 시스템에서 Nginx를 APT를 통해 설치하고 다음 명령을 사용할 수 있습니다.
Sudo apt-get 업데이트 sudo apt-get install nginx
Nginx 프록시 서버를 구성 할 때는 먼저 Nginx 구성 파일을 수정해야합니다. 파일 경로는 일반적으로/etc/nginx/디렉토리에 있습니다.
구성을 수정하기 전에 원래 구성 파일을 백업하는 것이 좋습니다. 다음 명령을 사용하여 원본 /etc/nginx/nginx.conf 파일을 백업하십시오.
CD /etc /nginx sudo cp nginx.conf nginx.conf.bak
Nginx의 구성 파일에는 주로 업스트림 정의 및 proxy_pass 설정의 두 부분이 포함됩니다.
HTTP 세그먼트에서 여러 백엔드 서버의 IP 주소 및 포트를 정의하십시오. 다음 예제는 3 개의 백엔드 서버를 구성합니다.
http { 상류 백엔드 { 서버 192.168.1.101:80 무게 = 1; 서버 192.168.1.102:80 무게 = 1; 서버 192.168.1.103:80 무게 = 1; } }
서버 세그먼트에서 proxy_pass를 구성하고 위에서 정의 된 백엔드 서버로 요청을 전달하십시오.
서버 { 80; server_name example.com; 위치 / { proxy_pass http : // 백엔드; } }
구성이 완료되면 새 구성을 발효하려면 NGINX 서비스를 다시 시작해야합니다.
Sudo Service Nginx 재시작
기본 구성을 완료 한 후 성능을 더욱 향상시키기 위해 일부 최적화를 NGINX로 만들 수 있습니다.
캐싱을 활성화함으로써 Nginx는 정적 파일을 메모리에 저장하여 요청의 응답 시간을 줄일 수 있습니다. CACHE를 활성화하려면 다음 코드를 구성 파일에 추가 할 수 있습니다.
http { proxy_cache_path/var/cache/nginx 레벨 = 1 : 2 Keys_Zone = my_cache : 10M 비활성 = 60m; proxy_cache_key "$ scheme $ request_method $ host $ request_uri"; proxy_cache_valid 200 304 12H; proxy_cache_valid 404 1m; }
GZIP 압축을 활성화하면 데이터 전송 크기가 줄어들고 웹 서비스의 응답 속도를 향상시킬 수 있습니다. 구성 파일에 다음 코드를 추가하십시오.
http { gzip on; gzip_min_length 1000; gzip_types 텍스트/일반 텍스트/CSS 응용 프로그램/JSON 응용 프로그램/javaScript 텍스트/XML 응용 프로그램/XML+XML/RSS TEXT/JAVASCRIPT; }
서버의 CPU 코어 수에 따라 NGINX의 작업자 프로세스 수를 조정하면 성능이 향상 될 수 있습니다. 다음 예제는 CPU 코어 수를 기반으로 작업자 프로세스 수를 자동으로 설정하는 방법을 보여줍니다.
Worker_Processes Auto; Worker_cpu_affinity Auto; worker_rlimit_nofile 8192;
Nginx 프록시 서버를 구성하면 웹 서비스의 응답 속도 및 성능이 크게 향상 될 수 있습니다. 캐싱 및 GZIP 압축과 같은 최적화 기술을 합리적으로 구성하고, 역 프라이즈 및보다 효율적이고 안정적인 웹 서비스를 수행 할 수 있습니다. 구성 프로세스 중에 서버 하드웨어 환경을 기반으로 해당 조정 및 최적화에주의하십시오.