>운영 및 유지보수 >엔진스 >nginx 리버스 프록시를 기반으로 CentOS에서 로드 밸런싱을 달성하는 방법

nginx 리버스 프록시를 기반으로 CentOS에서 로드 밸런싱을 달성하는 방법

WBOY
WBOY앞으로
2023-05-18 16:49:061203검색

로드 밸런싱을 위한 nginx의 장점:

1. 네트워크의 7번째 계층 위에서 작동하면 도메인 이름 및 디렉터리 구조와 같은 http 애플리케이션에 대한 일부 전환 전략을 만들 수 있습니다. haproxy 유연성은 현재 널리 사용되는 주요 이유 중 하나입니다. 2. nginx는 이론적으로 네트워크 안정성에 거의 의존하지 않습니다. .로드 기능을 수행하는 능력도 장점 중 하나입니다. 반대로, lvs는 네트워크 안정성에 크게 의존하며, 이는 제가 깊이 이해하고 있는 것입니다. 3. nginx는 설치 및 구성이 비교적 간단하고 더 편리합니다. 테스트를 통해 기본적으로 오류를 수정할 수 있습니다. 로그와 함께 인쇄해 보세요. LVS를 구성하고 테스트하는 데 오랜 시간이 걸립니다. LVS는 네트워크에 크게 의존합니다

4. 하드웨어가 나쁘지 않으면 일반적으로 수만 개의 동시성과 로드를 지원할 수 있습니다. 정도는 lvs

참고:

1. nginx 구성 파일의 위치는 설치 방법에 따라 다릅니다2. 업스트림이 ip_hash 방법을 사용하는 경우 각 요청은 해시에 따라 할당됩니다. 접속한 IP의 결과이므로 각 방문자는 세션 문제를 해결할 수 있는 백엔드 서버를 방문합니다.

1. nginx 설치

두 가지 방법을 사용합니다.

첫 번째 yum 설치가 필요합니다. nginx는 기본적으로 centos의 yum 소스에 없기 때문에 업데이트가 필요합니다

yum install wget #安装下载工具
wget http://www.atomicorp.com/installers/atomic #下载
sh ./atomic #安装
yum check-update #更新yum源 有的需要更新几次 才有nginx最新版本 否则是老版本nginx
yum remove httpd* php* #删除系统自带的软件包 也可加mysql*前提备份数据库
yum install nginx #安装nginx根据提示输入y进行安装
chkconfig nginx on #设置nginx开机启动
service nginx start #启动nginx 重启 restart

두 번째 유형의 컴파일 및 설치

wget http://nginx.org/download/nginx-1.7.8.tar.gz
tar -zxvf nginx-1.7.8.tar.gz
cd nginx-1.7.8
./configure
make && make install


2. 구성 파일

nginx의 구성 파일을 수정합니다. 업스트림은 로드 밸런싱을 위해 기본적으로 폴링 방법을 사용합니다. 이 방법에서는 각 요청이 시간순으로 하나씩 다른 백엔드 서버에 할당됩니다. 백엔드 서버가 다운되면 자동으로 제거될 수 있습니다. 또 다른 방법은 ip_hash입니다. 각 요청은 액세스된 IP의 해시 결과에 따라 할당되므로 각 방문자는 백엔드 서버에 대한 고정 액세스 권한을 갖게 되어 세션 문제를 해결할 수 있습니다

Modify /etc/nginx/nginx .conf를 추가하고

#负载均衡配置
upstream backend {
#ip_hash;
server 192.168.20.193;
server 192.168.20.194;
}

Modify /etc/nginx/conf.d/default.conf

location / {
#设置主机头和客户端真实地址,以便服务器获取客户端真实ip
    proxy_set_header host $host;
    proxy_set_header x-real-ip $remote_addr;
    proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
    #禁用缓存
    proxy_buffering off;
    #反向代理的地址
    proxy_pass http://backend;
    root  /usr/share/nginx/html;
    index index.html index.htm;
    # example
    #modsecurityenabled on;
    #modsecurityconfig /etc/nginx/modsecurity.conf;
}

3. Test

업스트림의 기본값은 폴링이므로 첫 번째 액세스는 193으로 전달되고 두 번째는 193으로 전달됩니다. 194

으로 전달됨

위 내용은 nginx 리버스 프록시를 기반으로 CentOS에서 로드 밸런싱을 달성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제