服务器环境:三台本地Ubuntu16.04
服务器A:192.168.1.222(主)
服务器B:192.168.1.120
服务器C:192.168.1.247
环境搭建和配置
三台服务器都需要提前安装好Nginx,
服务器A配置文件nginx.conf
(改动部分)
# 服务器列表
upstream hello_server {
server 192.168.1.120:80 weight=3; #weight代表权重高的优先访问
server 192.168.1.247:80 weight=3;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.html;
proxy_pass http://hello_server; #请求转向hello_server 定义的服务器列表
#以下是一些反向代理的配置(可选择性配置)
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
}
为了直观观察,可以把服务器B、服务器C默认的index.html
文件进行改动,此处新引入一个01test.html
文件,内容为(服务器C的默认html文件内容改为Server C
即可)
<h1>Server B</h1>
修改完配置文件后重启服务器A的Nginx
sudo /usr/local/nginx/sbin/nginx -s reload
测试
打开浏览器,访问服务器A的IP:192.168.1.222
刷新
因为upstream hello_server
列表中B和C的服务器weight我都设置为3(相等),因此刷新的时候会不断切换
THE END