Cómo hacer equilibrio de carga con nginx

Cómo hacer equilibrio de carga con nginx

Necesito utilizar el servidor como equilibrador de carga y servidor web al mismo tiempo.

Aquí está mi configuración de nginx para el sitio web:

upstream load_balancer {
    least_conn;
    server localhost;
        #server srv2.example.com;
}

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    server_name localhost;

    root /var/www;

    index index.php index.html index.htm;

    location / {
        proxy_pass http://load_balancer;
    }

    location ~* \.php$ {
        fastcgi_index   index.php;
            fastcgi_pass    unix:/var/run/php5-fpm.sock;
            include         fastcgi_params;
            fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
            fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
    }
}

¿Es posible utilizar un servidor como equilibrador de carga y servidor web al mismo tiempo? ¿Cómo hacerlo?

¡Muchas gracias de antemano!

Respuesta1

Sí, es posible;

Puedes simplemente crear un host virtual con un puerto diferente.

(Load Balancer [Port 80] + Virtualhost [Port 81])Por lo tanto, en efecto tendrá un servidor escuchando en dos puertos; uno sirve a una página web y el otro carga balances.

Luego, al vincular el sitio web en el servidor al balanceador de carga, usaría la IPlocalhost:81

Puede crear el sitio web local escribiendo:

sudo nano /etc/nginx/sites-available/example.com

Luego pegue (es posible que deba editar según las necesidades).

 server {
        listen   81;

        root /var/www/example.com/public_html;
        index index.html index.htm;

        server_name example.com;
}

¡Espero que esto ayude!

información relacionada