具有多台 PC 的 Web 服务器网络

具有多台 PC 的 Web 服务器网络

我经营一个网站,最近我买了两台额外的机器并在它们上面安装了 Linux(相同的硬件)。我原来的机器是一台标准台式机,上面安装了 Debian 和 NGINX。我买了 2 台树莓派,我对它们都使用了相同的镜像(带有 nginx 的 archlinux,与主机相同的配置)。之前一切都运行良好,但是当我将树莓派添加到网络并将端口转发设置为 IP 范围 192.168.0.100 - 192.168.0.102(这些是我的机器的静态 IP 之间)时,我收到连接错误。

我如何将多台计算机联网在一起(我的主机功能更强大,因此它充当 Mysql 后端和存储位置),以便每台计算机处理一些连接。

谢谢,

杰克·伦肖

编辑:

对于任何感兴趣或正在寻找类似解决方案的人,我所做的是使用第一台计算机(功能更强大的计算机)作为反向代理和 mysql 服务器。

我的 nginx.conf 文件如下所示

upstream lb_units {
  server 192.168.0.101:8080 weight=10 max_fails=3 fail_timeout=30s; # Reverse proxy to  BES1
  server 192.168.0.102:8080 weight=10 max_fails=3 fail_timeout=30s; # Reverse proxy to  BES1
}

upstream backend {
    server 192.168.0.101:443;
    server 192.168.0.102:443;
}

server {
 listen 80; # Listen on the external interface
 server_name  mywebsite.com; # The server name
 location / {
  proxy_pass         http://lb_units; # Load balance the URL location "/" to the      upstream lb_units
}
error_page   500 502 503 504  /50x.html;
 location = /50x.html {
 root   /wdata/redir;
  }
 }

server {
    listen 443 ssl; # Listen on the external interface
    server_name  mywebsite.com; # The server name
            ssl_certificate ssl/mywebsite.crt;
            ssl_certificate_key ssl/mywebsite.key;

            root /wdata;
            index index.php index.htm index.html;

    ssl_verify_client off;
    location / {
        proxy_pass  https://backend;
        proxy_set_header Host $http_host;
        proxy_set_header X_FORWARDED_PROTO https;
    }

  }

答案1

使用网络负载平衡器。它们有硬件和软件两种类型。根据您的情况,您可能希望使用基于硬件的设备,因为相对较小的设备上的负载可能会增加太多,无法处理额外的负载平衡。

或者,您可以研究将集群与负载平衡相结合以提供高可用性和分布式访问。

相关内容