nginx的基础知识二之负载均衡
为了解决服务器负载问题,除了采取搭建多台服务器设备来解决外,还可以采用nginx来处理负载均衡。【nginx的基础知识二之负载均衡】1.轮询 根据nginx配置文件中的顺序,依次把客户端的web请求分发到不同的后端服务器.如果后端服务器down掉,能自动剔除。
首先在
/etc/nginx/conf.d
里,添加如下代码:http{upstream sampleapp{
server 192.168.160.13:8989;
server 192.168.139.11:7878}
之后在
/etc/nginx/site-available/blog
里添加server{
listen 80;
..
location / {
proxy_pass http://sampleapp;
}
}
备注:这里的
blog
文件是我复制了一份原来的default文件,用于配置反向代理的。2.最少连接
http{
upstream sampleapp{
least_conn;
server 192.168.160.22:8989;
server 192.169.23.33:2323;
}
server {
listen 80;
..
location / {
proxy_pass http://sampleapp;
}
}
3.ip地址哈希 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
http{
upstream sampleapp{
ip_hash;
#判断是否同一个session,同一个session的话,访问的永远是一个
server 192.168.160.33:8989;
server 192.145.133.23:9999;
}
server{
listen 80;
..
location / {
proxy_pass http://sampleapp
}
}
4.基于权重的负载均衡
http{
upstream sampleapp{
server 192.168.160.34:8989 weight=2;
#表示2/3的概率访问这个
server 192.168.160.23:9999;
server 192.168.160.23:9888 down;
//down 表示单前的server暂时不参与负载
server 192.168.160.23:7777 backup//backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
}
server {
listen 99;
..
location / {
proxy_pass http://sample
}
}
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量