我们把LB01作为负载均衡器,WEB01和WEB02作为两台web服务器。
然后创建vhost目录,并添加www.conf文件
然后我们在/data下创建www目录,并添加index.html文件
WEB01与WEB02虚拟主机配置如下:
我们修改nginx下的conf/nginx.conf文件,在http{}中加入如下代码
include vhost/*.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;
}
}
> 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;
}