单台服务器模拟负载均衡

找到nginx的配置文件nginx.conf,我的是在
单台服务器模拟负载均衡

打开nginx.conf文件,include引入负载均衡配置的其它的要用的.conf文件
单台服务器模拟负载均衡

配置文件,8082.conf和8083.conf是两个nginx.conf配置文件,模拟两个服务器,8081.conf是实现负载均衡的一个文件,记得放开端口
单台服务器模拟负载均衡

nginx文件,(8082.conf和8083.conf)

server {
//设置自己对应的端口号
listen 8082;
//指向自己的nginx.conf文件
root /www/server/nginx/conf/nginx.conf;
//自己的ip地址
server_name 自己的ip地址;

charset koi8-r;

access_log /var/log/nginx/log/host.access.log main;

location / {
index index.php index.html index.htm;
}

error_page 404 /404.html;

redirect server error pages to the static page /50x.html

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
负载均衡文件:(当有实际的服务器的时候 server直接引入实际的IP地址既可,那两个模拟的nginx配置文件也可不要)

负载均衡配置1

upstream www.test1.com { #设置网络负载均衡,且取名为 www.test1.com (随便取)

ip_hash;    #指定负载均衡算法,通过获取IP的hash值指定到对应的服务器

server 172.16.15.76:8066 weight=10;    #第一台web服务器地址,权重为10 权重越大访问的几率越高

server 172.16.25.76:8077 down;        #第二台 down表示负载过重或者不参与负载

server 172.16.0.8:8066 max_fails=3 fail_timeout=30s; #max_fails失败超过指定次数会暂停或请求转往其它服务器  fail_timout 失败超过指定次数后暂停时间

server 172.16.0.18:8077 backup;    #没有其它服务器时或down时才会请求backup服务器

}

负载均衡配置2

upstream www.test2.com {

这里没有指定负载均衡的算法,所以使用了默认的HTTP负载均衡算法 - 加权轮询。

server 172.16.0.21:8066;
server 192.168.76.98:8066; 

}

服务器配置1

server {

listen 80;
server_name www.test1.com; 

location /{

将server节点下的location节点中的proxy_pass配置为:http:// + upstream名称,即

    proxy_pass http://www.test1.com;    #使用哪个代理配置 这里指定使用名为 www.test1.com 的负载均衡配置

#proxy_set_header 可设置请求头-并将头信息传递到服务器端,如果不设置,服务器接收到的将是负载均衡服务器的信息
    proxy_set_header Host $host;    #设置主机头

    proxy_set_header X-Real-IP $remote_addr; #将客户端真实地址转发给服务器,以便服务器获取客户端真实IP

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #多重代理的话,获取并设置原始客户端的IP

}
}

服务器配置2

server {

listen 80;
server_name www.test2.com; 

location /{
    proxy_pass http://www.test2.com;    #指定代理的后端服务器地址和端口,这里指定使用名为 www.test2.com 的负载均衡配置
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

}
配置完成后重启Nginx服务,在sbin目录下 执行:

./nginx -s reload

上一篇:用PUSHD/POPD获得bat文件执行的路径


下一篇:产品百科 | RTC iOS SDK 摄像头管理方法