nginx 如何实现一台服务器挂了访问另外一台服务器
如果您想通过 Nginx 实现在 example1.com 服务器挂掉的情况下自动切换到 example2.com 服务器,可以使用 Nginx 的代理模块和负载均衡功能。
以下是一个示例的 Nginx 配置,实现了当 example1.com 服务器不可用时,自动切换到 example2.com 服务器:
http {
upstream my_servers {
server example1.com:80 fail_timeout=10s;
server example2.com:80 backup;
server example3.com:80 backup;
}
server {
listen 80;
server_name example1.com;
location / {
proxy_pass http://my_servers;
proxy_set_header Host $host;
}
}
}
在上述示例中:
upstream 块定义了服务器组 my_servers,其中 example1.com:80 被指定为主服务器,并设置了 fail_timeout=10s,表示当服务器不可用时,Nginx 会在 10 秒后重新尝试连接。 example2.com:80 和 example3.com:80 被指定为备用服务器,使用 backup 参数标记,表示只有在主服务器不可用时才会被使用。 server 块中的 server_name 指令指定了监听的域名为 example1.com。 location 块中的 proxy_pass 指令将请求转发到服务器组 my_servers,而 proxy_set_header Host $host; 则会将原始请求的 Host 头部信息传递给后端服务器。 当 example1.com 服务器不可用时,Nginx 会自动将请求转发到备用服务器 example2.com 或 example3.com。这样,用户在不知情的情况下可以继续访问可用的服务器。
请确保在每个服务器上的 Nginx 配置文件中进行正确的配置,并根据您的实际情况进行调整。