nginxlocation可以重复使用吗 请教nginx多个server怎么配置?

[更新]
·
·
分类:互联网
3699 阅读

nginxlocation可以重复使用吗

请教nginx多个server怎么配置?

请教nginx多个server怎么配置?

{
server192.168.1.221
}
server{
listen10
#server_
access_
location/{
proxy_passhttp://192.168.1.221:10000
proxy_set_headerHost$host
#proxy_set_headerX-Real-IP$remote_addr
#proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for
}
}
server{
listen11
#server_
access_
location/{
proxy_passhttp://192.168.1.222:10001
proxy_set_headerHost$host
#proxy_set_headerX-Real-IP$remote_addr
#proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for
}
}

nginx的负载均衡如何配置?

nginx负载均衡用于从“upstream”模块定义的后端服务器列表中选取一台服务器接受用户的请求。一个最基本的upstream模块是这样的,模块内的server是服务器列表:
#动态服务器组
upstream dynamic_zuoyu {
server localhost:8080 #tomcat 7.0
server localhost:8081 #tomcat 8.0
server localhost:8082 #tomcat 8.5
server localhost:8083 #tomcat 9.0
}
upstream 支持4种负载均衡调度算法:
A):每个请求按时间顺序逐一分配到不同的后端服务器
B):每个请求按访问IP的hash结果分配,同一个IP客户端固定访问一个后端服务器。可以保证来自同一ip的请求被打到固定的机器上,可以解决session问题。
C):按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器。后台服务器为缓存的时候效率。
D):这是比上面两个更加智能的负载均衡算法。此种算法可以依据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间来分配请求,响应时间短的优先分配。本身是不支持 的,如果需要使用这种调度算法,必须下载Nginx的 模块。
轮询:
打开 nginx 配置文件
[ ~]# vi
写轮训配置
#设定负载均衡服务器列表upstream roundrobin { #后端服务器访问规则 server 192.168.1.115:8080 weight1 #server1 server 192.168.1.131:8081 weight1 #server1 server 192.168.1.94:8090 weight1 #server3}server { listen 80 server_name 192.168.1.131 location / { proxy_pass http://roundrobin } }
配置完成后
//检查 nginx 配置是否正确nginx -t //重新加载 nginx 配置service nginx reload
当访问 的时候,会把这个请求负载到 的 端口、 的 端口、 的 端口。负载的权重由 weight 来决定,默认为 1 ,weight 越大,权重就越大。
IP_hash:
#设定负载均衡服务器列表upstream roundrobin { #后端服务器访问规则 ip_hash #添加参数支持哈希 server 192.168.1.115:8080 weight1 #server1 server 192.168.1.131:8080 weight1 #server1 server 192.168.1.94:8090 weight1 #server3 } server { listen 80 server_name 192.168.1.131 location / { proxy_pass http://roundrobin } }
down,表示当前的server暂时不参与负载均衡。backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因 此这台机器的压力最轻。#设定负载均衡服务器列表upstream roundrobin { #后端服务器访问规则 server 192.168.1.115:8080 weight1 #server1 server 192.168.1.131:8080 down #server2 不参与负载 server 192.168.1.94:8090 backup #server3 备份机 }server { listen 80 server_name 192.168.1.131 location / { proxy_pass http://roundrobin } }