찾다
운영 및 유지보수엔진스Nginx에서 TCP 부하 분산을 구성하는 방법

Nginx에서 TCP 부하 분산을 구성하는 방법

Kubernetes 클러스터가 구성되었다고 가정하고 CentOS 기반의 Nginx용 가상 머신을 생성하겠습니다.

실험의 세부 설정은 다음과 같습니다.

  • Nginx(CenOS8 Minimal) – 192.168.1.50

  • Kube Master – 작업자 1 & ndash; 1.41

  • Kube Worker 2 – 192.168.1.42

  • 1단계) epel 저장소 설치

nginx 패키지가 CentOS 시스템 기본 저장소에 없으므로 epel 저장소를 설치해야 합니다.

[root@nginxlb ~]# dnf install epel-release -y
2단계) Nginx 설치

다음 명령을 실행하여 nginx를 설치합니다.

[root@nginxlb ~]# dnf install nginx -y
rpm 명령을 사용하여 Nginx 패키지 세부 정보를 확인합니다.
[root@nginxlb ~]# rpm -qi nginx

nginx의 http 및 https 서비스에 대한 액세스를 허용하도록 방화벽을 구성합니다. :

[root@nginxlb ~]# firewall-cmd --permanent --add-service=http[root@nginxlb ~]# firewall-cmd --permanent --add-service=https[root@nginxlb ~]# firewall-cmd –reload

다음 명령을 사용하여 SELinux를 허용 모드로 설정하고 selinux 종료가 적용되도록 시스템을 다시 시작합니다. Nginx에서 TCP 부하 분산을 구성하는 방법

[root@nginxlb ~]# sed -i s/^SELINUX=.*$/SELINUX=permissive/ /etc/selinux/config[root@nginxlb ~]# reboot

3단계) Kubernetes에서 애플리케이션의 NodePort 세부 정보를 가져옵니다.

[kadmin@k8s-master ~]$  kubectl get all -n ingress-nginx

위 출력에서 ​​볼 수 있듯이 각 작업자 노드의 NodePort 32760은 포트 80에 매핑되고 NodePort 32375는 포트 443에 매핑됩니다. 로드 밸런싱을 위해 Nginx 구성 파일에서 이러한 노드 포트를 사용합니다.

Nginx에서 TCP 부하 분산을 구성하는 방법4단계) 로드 밸런싱을 위해 Nginx 구성

nginx 구성 파일을 편집하고 다음을 추가합니다.

[root@nginxlb ~]# vim /etc/nginx/nginx.conf
"서버" 부분(38~57행)을 주석 처리합니다.

다음 행을 추가합니다. :

upstream backend {
  server 192.168.1.41:32760;
  server 192.168.1.42:32760;
}

server {
  listen 80;
  location / {
      proxy_read_timeout 1800;
      proxy_connect_timeout 1800;
      proxy_send_timeout 1800;
      send_timeout 1800;
      proxy_set_header        Accept-Encoding   "";
      proxy_set_header        X-Forwarded-By    $server_addr:$server_port;
      proxy_set_header        X-Forwarded-For   $remote_addr;
      proxy_set_header        X-Forwarded-Proto $scheme;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_pass http://backend;
  }

   location /nginx_status {
       stub_status;
   }
}

Nginx에서 TCP 부하 분산을 구성하는 방법

구성 파일을 저장하고 종료합니다.

Nginx에서 TCP 부하 분산을 구성하는 방법

위 변경 사항에 따라 nginx의 포트 80에 대한 모든 요청은 Kubernetes 작업자 노드(192.168.1.41 및 192.168.1.42)의 NodePort(32760) 포트로 라우팅됩니다.

다음 명령을 사용하여 Nginx 서비스를 활성화합니다. Nginx에서 TCP 부하 분산을 구성하는 방법

[root@nginxlb ~]# systemctl start nginx[root@nginxlb ~]# systemctl enable nginx

Nginx의 TCP 로드 밸런서를 테스트합니다.

nginx가 Kubernetes용 TCP 로드 밸런서로 제대로 작동하는지 테스트하려면 nginx 기반 배포를 배포하고 배포 포트를 80에 노출합니다. nginx 배포를 위한 항목 리소스를 포팅하고 정의합니다. 다음 명령을 사용하여 이러한 Kubernetes 개체를 배포했습니다.

[kadmin@k8s-master ~]$ kubectl create deployment nginx-deployment --image=nginx
deployment.apps/nginx-deployment created
[kadmin@k8s-master ~]$ kubectl expose deployments nginx-deployment  --name=nginx-deployment --type=NodePort --port=80
service/nginx-deployment exposed
다음 명령을 실행하여 배포, svc 및 수신 세부 정보를 가져옵니다.

nginx-lb.example.com이 IP를 가리키도록 localhost의 호스트 파일을 업데이트합니다. nginx 서버 주소(192.168.1.50)

[root@localhost ~]# echo "192.168.1.50  nginx-lb.example.com" >> /etc/hosts

브라우저를 통해 nginx-lb.example.com에 액세스해 보세요 Nginx에서 TCP 부하 분산을 구성하는 방법

위 내용은 Nginx에서 TCP 부하 분산을 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 亿速云에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
nginx와 apache 사이의 선택 : 필요에 맞는 적합nginx와 apache 사이의 선택 : 필요에 맞는 적합Apr 15, 2025 am 12:04 AM

Nginx와 Apache는 고유 한 장점과 단점이 있으며 다른 시나리오에 적합합니다. 1.NGINX는 높은 동시성 및 낮은 자원 소비 시나리오에 적합합니다. 2. Apache는 복잡한 구성 및 풍부한 모듈이 필요한 시나리오에 적합합니다. 핵심 기능, 성능 차이 및 모범 사례를 비교하면 요구에 가장 적합한 서버 소프트웨어를 선택할 수 있습니다.

nginx를 시작하는 방법nginx를 시작하는 방법Apr 14, 2025 pm 01:06 PM

질문 : nginx를 시작하는 방법? 답변 : nginx 스타트 업 설치 nginx verification nginx is nginx 시작 다른 시작 옵션을 자동으로 시작합니다.

nginx가 시작되었는지 확인하는 방법nginx가 시작되었는지 확인하는 방법Apr 14, 2025 pm 01:03 PM

nginx가 시작되었는지 확인하는 방법 : 1. 명령 줄을 사용하십시오 : SystemCTL 상태 nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. 포트 80이 열려 있는지 확인하십시오. 3. 시스템 로그에서 nginx 시작 메시지를 확인하십시오. 4. Nagios, Zabbix 및 Icinga와 같은 타사 도구를 사용하십시오.

nginx를 닫는 방법nginx를 닫는 방법Apr 14, 2025 pm 01:00 PM

Nginx 서비스를 종료하려면 다음 단계를 따르려면 다음 단계를 결정합니다. Red Hat/Centos (SystemCTL 상태 NGINX) 또는 Debian/Ubuntu (서비스 NGINX 상태) 서비스 중지 : Red Hat/Centos (SystemCTL STOP NGINX) 또는 DEBIAN/UBUNTU (서비스 NGINX STOP) DIA AUTAL STARTUP (옵션) : RED HAT/CENTOS (SystemCTLED) 또는 DEBIAN/UBUNT (SystemCTLED). (Syst

Windows에서 nginx를 구성하는 방법Windows에서 nginx를 구성하는 방법Apr 14, 2025 pm 12:57 PM

Windows에서 Nginx를 구성하는 방법은 무엇입니까? nginx를 설치하고 가상 호스트 구성을 만듭니다. 기본 구성 파일을 수정하고 가상 호스트 구성을 포함하십시오. 시작 또는 새로 고침 Nginx. 구성을 테스트하고 웹 사이트를보십시오. SSL을 선택적으로 활성화하고 SSL 인증서를 구성하십시오. 포트 80 및 443 트래픽을 허용하도록 방화벽을 선택적으로 설정하십시오.

nginx403 오류를 해결하는 방법nginx403 오류를 해결하는 방법Apr 14, 2025 pm 12:54 PM

서버는 요청 된 리소스에 액세스 할 수있는 권한이 없으므로 Nginx 403 오류가 발생합니다. 솔루션에는 다음이 포함됩니다. 파일 권한 확인 권한을 확인하십시오. .htaccess 구성을 확인하십시오. nginx 구성을 확인하십시오. Selinux 권한을 구성하십시오. 방화벽 규칙을 확인하십시오. 브라우저 문제, 서버 장애 또는 기타 가능한 오류와 같은 다른 원인을 해결하십시오.

Linux에서 Nginx를 시작하는 방법Linux에서 Nginx를 시작하는 방법Apr 14, 2025 pm 12:51 PM

Linux에서 Nginx를 시작하는 단계 : Nginx가 설치되어 있는지 확인하십시오. systemctl start nginx를 사용하여 nginx 서비스를 시작하십시오. SystemCTL을 사용하여 NGINX를 사용하여 시스템 시작시 NGINX의 자동 시작을 활성화하십시오. SystemCTL 상태 nginx를 사용하여 시작이 성공했는지 확인하십시오. 기본 환영 페이지를 보려면 웹 브라우저의 http : // localhost를 방문하십시오.

nginx가 시작되었는지 확인하는 방법은 무엇입니까?nginx가 시작되었는지 확인하는 방법은 무엇입니까?Apr 14, 2025 pm 12:48 PM

Linux에서는 다음 명령을 사용하여 nginx가 시작되었는지 확인하십시오. SystemCTL 상태 Nginx 판사 명령 출력에 따라 : "active : running"이 표시되면 Nginx가 시작됩니다. "Active : 비활성 (죽음)"이 표시되면 Nginx가 중지됩니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구