【问题标题】:Laravel 5 on two vps server and one domain name两台vps服务器和一个域名上的Laravel 5
【发布时间】:2019-07-27 01:33:39
【问题描述】:

我有一个 laravel (with mysql) 项目,它使用 Jobs、cron 任务等。我想在两个不同的 vps 服务器上配置它(两个 mysql db 如何同步?),但是这样负载是分布的均匀。他使用一个域名。

example.com - 域

127.0.0.1 - 1 个带 isp 管理器的 vps 服务器

127.0.0.2 - 2 个带 isp 管理器的 vps 服务器

如何设置一个域以使用两台服务器? 如何做到这一点?

更新

如果其中一台服务器停止工作,我会使用它。我需要在域级别进行配置。

【问题讨论】:

  • 我认为您应该研究负载均衡器?然后您将您的域指向负载均衡器,负载均衡器会将流量分配到不同的服务器。我认为您将在两个 VPS 服务器上拥有 2 个 laravel 应用程序副本,这些服务器将连接到外部数据库,或者 1 个是本地的,1 个是外部的。这是其中一种方式,但它可能是错误的方式,这实际上取决于您的应用程序

标签: php laravel laravel-5 dns vps


【解决方案1】:

您可以将项目中的 1 个指向其他项目数据库,只需将 .env 编辑为拥有数据库的项目的内部 IP 地址,但我建议您只为数据库设置第三个 vps,然后将两个项目都指向到该 VPS,然后您也可以添加负载均衡器 VPS 并处理项目 vps 实例的流量。

【讨论】:

    【解决方案2】:

    slb就是你需要的,你可以用nginx反向代理实现lsb功能

    http {
        upstream backend {
            server 127.0.0.1;
            server 127.0.0.2;
        }
        server {
            location / {
                proxy_pass http://backend;
            }
        }
    }
    

    参考https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/

    【讨论】:

    • 如果其中一台服务器停止工作,我会使用它。我需要在域级别进行配置。
    猜你喜欢
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 2016-02-20
    • 2010-10-24
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多