我们把LB01作为负载均衡器,WEB01和WEB02作为两台web服务器。
 
WEB01与WEB02虚拟主机配置如下:
 
我们修改nginx下的conf/nginx.conf文件,在http{}中加入如下代码
include vhost/*.conf;
然后创建vhost目录,并添加www.conf文件
> mkdir /data/nginx/conf/vhost
> cd /data/nginx/conf/vhost
> vi www.conf
server {
    #监听的端口号
    listen       8080;
    #虚拟主机名
    server_name  192.168.10.133;
    #编码
    charset utf-8;

    location / {
        #网站路径
        root   /data/www;
        #默认首页文件
        index  index.html index.htm;
    }
}
然后我们在/data下创建www目录,并添加index.html文件
> mkdir /data/www
> cd /data/www
> echo "192.168.10.133" > index.html
我们启动nginx服务
> /data/nginx/sbin/nginx -c /data/nginx/conf/nginx.conf
这样通过浏览器访问192.168.10.133:8080,如果输出192.168.10.133则说明配置成功。
如果无法访问,说明防火墙的问题
> systemctl stop firewalld.service
按照同样的方法配置192.168.10.144:8080,在192.168.10.144虚拟机上。

然后我们在LB01上配置反向代理,如下:
修改conf/nginx.conf文件,并在http{}中加入
upstream site {
    server 192.168.10.133:8080 weight=5;
    server 192.168.10.144:8080 weight=5;
}
然后在conf目录下创建vhost文件夹并创建www.conf文件(具体步骤同上)
server {
    #监听的端口号
    listen       80;
    #虚拟主机名
    server_name  www.site.com;
    #编码
    charset utf-8;

    location / {

        #注意这里的site与upstream中设置的必须一样。
        proxy_pass http://site;
    }
}
配置好后,重启nginx服务器。在浏览器上访问www.site.com会轮询的出现192.168.10.133和192.168.10.144等信息。
 
修改upstream中的weight权重值,会导致网站访问次数的不同。还可添加ip_hash,让一个IP始终定位到一台服务器上(主要用于会话保持,使用ip_hash后weight和backup无法使用)。
upstream site {
    ip_hash;
    server 192.168.10.133:8080;
    server 192.168.10.144:8080;
}

 

 

posted on 2017-01-17 20:09  怀素真  阅读(300)  评论(0编辑  收藏  举报