如何使用 nginx 进行负载均衡

如何使用 nginx 进行负载均衡

我需要同时将服务器用作负载平衡器和 Web 服务器。

以下是我的网站的 nginx 配置:

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;
    }
}

是否可以同时使用一台服务器作为负载均衡器和 Web 服务器?如何操作?

提前谢谢您!

答案1

对的,这是可能的;

您只需创建具有不同端口的虚拟主机即可。

(Load Balancer [Port 80] + Virtualhost [Port 81])因此实际上会有一台服务器监听两个端口:一台提供网页服务,另一台进行负载平衡。

然后,当将服务器上的网站链接到负载均衡器时,您将使用 IPlocalhost:81

您可以通过输入以下内容创建本地网站:

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

然后粘贴(可能需要根据需要进行编辑。)

 server {
        listen   81;

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

        server_name example.com;
}

希望这可以帮助!

相关内容